模板方法模式
来源:互联网 发布:java判断date是否相等 编辑:程序博客网 时间:2024/06/05 12:01
定义:
定义一个操作中的算法中的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤.
使用场景:
1.多个子类有公有的方法,并且逻辑相同时.
2.重复,复杂的算法,可以吧核心的算法设计成模板方法,周边的相关细节由子类实现.
3.重构时,把相同方法抽取到父类中.
代码例子:
public abstract class BaseClass{ protected void fun1(){ } protected void fun2(){} protected void fun3(){} public void useItInClass(){ fun1(); fun2(); fun3(); }}public class ClassA extends BaseClass{ @override protected void fun2(){ //在类A中的fun2的实现 }}public class ClassB extends BaseClass{ @override protected void fun2(){ }}public class Test{ public static void main(String[] args){ //实例化不同的类,就会执行属于其子类中的fun2方法. BaseClass A = new ClassA(); A.useItInClass(); B = new ClassB(); B.useItInClass(); }}
阅读全文
0 0
- 深入浅出模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法设计模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- TemplateMethod模板方法模式
- 模板方法模式
- 模板方法模式
- 模板方法模式
- 基于PCL的屏幕选点、框选点云、单点选取等c++实现
- c++中字符串反转的3种方法<转>
- Swift
- sqlserver 锁以及事务
- Swift
- 模板方法模式
- echart/属性详细介绍
- java多线程Thread类与Runnable 接口使用哪个更好?
- SpringMvc全局异常处理器配置
- Swift
- HDU
- 静态ip设置
- Android应用push到/system/app/后so库不能加载
- CodeChef FEB14 COT5