当前位置: 首页 > news >正文

电商网站建设意义动漫网页制作源代码

电商网站建设意义,动漫网页制作源代码,福州seo扣费,域名注册网站搭建小谈设计模式(11)—模板方法模式 专栏介绍专栏地址专栏介绍 模板方法模式角色分类抽象类(Abstract Class)具体子类(Concrete Class)抽象方法(Abstract Method)具体方法(C…

小谈设计模式(11)—模板方法模式

  • 专栏介绍
    • 专栏地址
    • 专栏介绍
  • 模板方法模式
    • 角色分类
      • 抽象类(Abstract Class)
      • 具体子类(Concrete Class)
      • 抽象方法(Abstract Method)
      • 具体方法(Concrete Method)
      • 钩子方法(Hook Method)
    • 核心思想
    • Java代码实现
      • 输出
      • 分析
    • 总结

专栏介绍

专栏地址

link

专栏介绍

主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。
在这里插入图片描述

模板方法模式

这是一种行为型设计模式,用于定义算法的框架,将算法的具体实现延迟到子类中。

角色分类

抽象类(Abstract Class)

抽象类定义了一个模板方法,该方法包含了算法的框架,以及一系列基本方法的调用顺序。抽象类还可以定义抽象方法、具体方法和钩子方法,用于延迟具体实现或提供默认实现。

具体子类(Concrete Class)

具体子类继承抽象类,并实现抽象方法和钩子方法。具体子类负责实现算法的具体步骤。

抽象方法(Abstract Method)

抽象方法是在抽象类中声明的方法,由具体子类实现。抽象方法是模板方法中的基本方法,用于完成算法的一部分。
在这里插入图片描述

具体方法(Concrete Method)

具体方法是在抽象类中已经实现的方法,可以在模板方法中直接调用。具体方法是模板方法中的基本方法,用于完成算法的一部分。

钩子方法(Hook Method)

钩子方法是在抽象类中有默认实现的方法,子类可以选择是否覆盖。钩子方法可以用于在算法的不同阶段提供不同的行为。
在这里插入图片描述

核心思想

将算法的框架固定在抽象类中,而将具体实现延迟到具体子类中。抽象类定义了一个模板方法,该方法包含了算法的框架,以及一系列基本方法的调用顺序。抽象类还可以定义抽象方法、具体方法和钩子方法,用于延迟具体实现或提供默认实现。

Java代码实现

// 抽象模板类
abstract class AbstractClass {// 模板方法,定义了算法的骨架public final void templateMethod() {step1();step2();step3();}// 基本方法1protected abstract void step1();// 基本方法2protected abstract void step2();// 基本方法3protected abstract void step3();
}// 具体模板类A
class ConcreteClassA extends AbstractClass {@Overrideprotected void step1() {System.out.println("ConcreteClassA: Step 1");}@Overrideprotected void step2() {System.out.println("ConcreteClassA: Step 2");}@Overrideprotected void step3() {System.out.println("ConcreteClassA: Step 3");}
}// 具体模板类B
class ConcreteClassB extends AbstractClass {@Overrideprotected void step1() {System.out.println("ConcreteClassB: Step 1");}@Overrideprotected void step2() {System.out.println("ConcreteClassB: Step 2");}@Overrideprotected void step3() {System.out.println("ConcreteClassB: Step 3");}
}// 测试代码
public class Main {public static void main(String[] args) {AbstractClass classA = new ConcreteClassA();classA.templateMethod();System.out.println();AbstractClass classB = new ConcreteClassB();classB.templateMethod();}
}

输出

ConcreteClassA: Step 1
ConcreteClassA: Step 2
ConcreteClassA: Step 3ConcreteClassB: Step 1
ConcreteClassB: Step 2
ConcreteClassB: Step 3

分析

在上面的示例中,抽象模板类AbstractClass定义了一个模板方法templateMethod(),这个方法定义了一个算法的骨架,其中包含了多个基本方法step1()、step2()、step3()。具体模板类ConcreteClassA和ConcreteClassB继承自AbstractClass,并实现了基本方法。
在这里插入图片描述

总结

模板方法模式是一种简单但非常实用的设计模式,它通过将算法的框架固定在抽象类中,将具体实现延迟到具体子类中,提供了一种灵活而可扩展的算法设计方案。

http://www.yayakq.cn/news/7303/

相关文章:

  • 创建网站怎么赚钱的网站备案需要些什么
  • 平邑县建设局网站wordpress添加自定义模板
  • 自己做网站需要什么条件网站建设8万属于资产吗
  • 黄石做网站的公司2345网址大全电视剧
  • 如何打开建设网站后台wordpress站点维护
  • 网上书店网网站建设怎么可以做网站的网站
  • 济南外贸网站域名交易网站建设
  • 建构网站西安郑州快速建站公司
  • 大型外贸网站策划中国空间站搭建国际合作平台
  • 百度优化网站建设运城网站建设价格
  • 淄博建设公司网站研究思路 网站建设
  • 课程网站如何建设方案网站广告位代码
  • c语言做网站后台服务重庆旅游攻略
  • 上海做网站搜索一下马来西亚的沈阳最新通告
  • 县门户网站建设整改小程序模板消息推送
  • 建设用地规划许可证查询网站app运营推广策划方案
  • 哪些网上可以赚钱的网站江苏优质网站制作公司
  • 做哪类网站比较赚钱云服务
  • 培训好吗网站建设怎么搞到网站
  • 化工网站开发兰州构建公司
  • 网站建设费的摊销期网络优化工程师是干什么的
  • 服务器卸载wordpress最好的网站排名优化工作室
  • 成都h5模板建站装修公司网站建设方案
  • 17zwd一起做业网站网站建设教程微云网盘
  • 云南省住房和城乡建设厅网站首页营销渠道名词解释
  • 人才网站建设策划书凡客诚品vancl官方旗舰店
  • 石家庄规划建设局网站商标免费查询入口
  • 成都市网站建网站搭建好显示建设中
  • 网站建设与规划周志总结wordpress 好的主题
  • 用什么做响应式网站好听的建筑公司名字大全