developS

模板设计模式

一.意图

模板方法模式 (Template Method) 是一种行为设计模式, 它在超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。

模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。,没有关联关系。 因此,在模板方法模式的类结构图中,只有继承关系。

二.场景

当使用多个类的功能,大部分功能都相同时,可以使用模板方法

三.优缺点

优点: 1、封装不变部分,扩展可变部分。 2、提取公共代码,便于维护。 3、行为由父类控制,子类实现。

缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。

四.代码实现

public class TemplateMethodPattern {
    public static void main(String[] args) {
        CookingFood cookingFood = new CookingFood();
        cookingFood.cook();
    }

}

//模板
abstract class Cooking{
    protected abstract void step1();
    protected abstract void step2();

    public void cook(){
        System.out.println("做饭开始");
        step1();
        step2();
        System.out.println("做饭结束");
    }
}

//具体实现类
class CookingFood extends Cooking { @Override protected void step1(){ System.out.println("放鸡蛋和西红柿"); } @Override protected void step2() { System.out.println("少少许盐和味精"); } }

 

posted on 2023-08-14 16:19  四十四次日落95  阅读(41)  评论(0)    收藏  举报