developS

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

模板设计模式

一.意图

模板方法模式 (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   四十四次日落95  阅读(23)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示