1.什么是模板方法模式
定义一个操作中算法的骨架,而将一些步骤延迟到子类中。
2.为什么要用模板方法模式
模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
模板方法模式是通过把不变行为搬迁的超类,去除子类中的重复代码来体现它的优势,它提供了一个很好的代码复用平台。
3.怎样用模板方法模式
AbstractClass
public class AbstractClass {
public void primitiveOperation1(){
}
public void primitiveOperation2(){
}
public void templateMethod(){
primitiveOperation1();
primitiveOperation2();
System.out.println("");
}
}
concreteClassA
public class concreteClassA extends AbstractClass {
public void primitiveOperation1(){
System.out.println("具体A类方法1实现");
}
public void primitiveOperation2(){
System.out.println("具体A类方法2实现");
}
}
concreteClassB
public class concreteClassB extends AbstractClass {
public void primitiveOperation1(){
System.out.println("具体B类方法1实现");
}
public void primitiveOperation2(){
System.out.println("具体B类方法2实现");
}
}
分享到:
相关推荐
13第十三讲外观模式 14第十四讲组合模式 15第十五讲桥接模式 16第十六讲适配器模式 17第十七讲解释器模式 18第十八讲中介者模式 19第十九讲职责链模式 20第二十讲迭代模式 21第二十一讲模板方法模式 22第二十二讲...
(七)模板方法模式 15 迪米特法则 16 (八)外观模式 16 (九)建造者模式(生成器模式) 19 (十)观察者模式 23 (十一)抽象工厂模式 28 (十二)状态模式 32 (十三)适配器模式 34 (十四)备忘录模式 37 (十...
第二十一讲:模板方法模式 第二十二讲:备忘录模式 第二十三讲:访问者模式 第二十四讲:状态模式 第二十五讲:命令模式 第二十六讲:开放-封闭原则 第二十七讲:里氏转换原则 第二十八讲:依赖倒转原则 第...
三、 模板方法模式的示意性代码 205 四、 继承作为复用的工具 207 五、 一个实际应用模板方法的例子 208 六、 模版方法模式中的方法 210 七、 重构的原则 211 设计模式(22)-Strategy Pattern 211 一、 策略...
第三节 工厂方法模式 第四节 抽象工厂模式 第五节 单例模式 第六节 外观模式 第七节 模板模式 第八节 组合模式 第九节 代理模式 第十节 命令模式 第十一节 观察者模式 第十二节 策略模式 第十三节 建造者模式 第十四...
三、 模板方法模式的示意性代码 四、 继承作为复用的工具 五、 一个实际应用模板方法的例子 六、 模版方法模式中的方法 七、 重构的原则 设计模式(22)-Strategy Pattern 一、 策略(Strategy)模式 二、 ...
责任链17.1 何为责任链模式17.2 何时使用责任链模式17.3 在RPG游戏中使用责任链模式17.4 总结第七部分 算法封装第18章 模板方法18.1 何为模板方法模式18.2 何时使用模板方法18.3 利用模板方法制作三明治18.4 保证...
8 模板方法模式:封装算法 9 送代器与组合模式:管理良好的集合 10 状态模式:事物的状态 11 代理模式:控制对象访问 12 复合模式:模式中的模式 13 与设计模式相处:真实世界中的模式 A 附录A:剩下的...
2. 业务流程:本解决方案涵盖了公司业务运作模式、市场营销管理流程、研发管理流程、计划物流控制流程、制造控制流程、服务体系框架、产品与服务质量改进管理流程、人力资源管理流程、财务支持与监控流程等九个方面...
Photoshop 电子商务专业课程标准模板 本课程标准旨在培养学生具备电子商务专业所需的Photoshop技能,培养学生的综合职业能力,使学生在学习过程中掌握实践性、开放性、启发性、职业性的技能。 一、 Photoshop 根底...
20世纪八九十年代由于计算机计算能力有限和相关技术的限制,可用于分析的数据量太小,深度学习在模式分析中并没有表现出优异的识别性能。自从2006年,Hinton等提出快速计算受限玻耳兹曼机(RBM)网络权值及偏差的CD-...
模板模式 240 访问者模式 244 设计模式总结★★★★★ 247 二十二、 Java其他总结 248 Java JVM知识点总结 248 equals()方法和hashCode()方法 270 数据结构 273 Array方法类汇总 304 Java数组与集合小结 305 递归 ...
* 在表现层中简单的使用了模板方法这种设计模式,将各个界面中的共同点提取到父类进行处理。 * 如果需要写更良好的代码,可以对本章中的代码进行重构,并可以应用对应的设计模式。 * * 分层结构 * ...
可以在服务器模式中...虚函数(virtual function)、运算符重载(Operator Overloading)、多重继承(Multiple Inheritance)、模板(Template)、异常(Exception)、RTTI、命名空间(Name Space)逐渐被加入标准。
MFC 李进九的电子书籍 第1章 MFC概述 1 1.1 MFC是一个编程框架 1 1.1.1 封装 1 1.1.2 继承 2 1.1.3 虚拟函数和动态约束 2 1.1.4 MFC的宏观框架体系 2 1.2 MDI应用程序的构成 3 1.2.1 构成应用程序的对象 3 1.2.2 ...
OOPractice 设计模式项目练习 目录 ...第七章 模板方法 template 第八章 迭代器与组合模式 iterator 第九章 状态模式 statepattern 第十章 代理模式 proxypattern 参考书籍 《Head First 设计模式》
1、添加设计模式代码实践,模板方法模式templateMethod,迭代器模式和组合模式iteratorAndComposite ####第九周完成工作 1、添加设计模式代码实践,命令模式command,适配器模式adapter ####第八周完成工作 1、第12章 ...
C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定...
candidate 应该知道如何使用泛型和模板设计模式来实现 DAO,如何使用装饰器模式来实现缓存机制。 面试官旨在考察 candidate 对前端开发的了解程度,对 JavaScript、HTML、CSS 等技术的掌握情况,以及解决问题的...