专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

设计模式(十三):模板模式

68_1.png

优点:

  ① 定义了一个算法骨架或行为族,而将一些步骤延迟到子类中,可以把公共的代码移到父类里面,从而避免代码重复。

  ② 具体细节步骤实现定义在子类中,使得子类可以不改变一个算法的整体结构即可以重新定义该算法的某些特定步骤。

缺点:

  ① 客户端必须知道所有的策略类,并自行决定使用哪一个策略类。

  ② 由于策略模式把每个具体的策略实现都单独封装成为类,如果备选的策略很多的话,那么对象的数目就会很可观。

适用范围:

  算法,折扣活动等

客户端: 

  DodishTemplate eggsWithTomato = new EggsWithTomato(); //西红柿炒鸡蛋
  eggsWithTomato.doDish();

  System.out.println(“—————————–“);

  DodishTemplate bouilli = new Bouilli(); //红烧肉
  bouilli.doDish();

一句话概括:定义一个操作的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可以重新定义该算法的某些特定步骤。

    /**
     * DodishTemplate (做菜模板接口,备料、做菜和上菜方法,及整体过程的方法doDish())
     * EggsWithTomato(西红柿炒鸡蛋)   Bouilli(红烧肉)  -- 两个实例,同一模板做出不同的菜
     */

文章永久链接:https://tech.souyunku.com/20291

未经允许不得转载:搜云库技术团队 » 设计模式(十三):模板模式

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们