关于设计模式的讨论(5)——模版模式(Templete)
今天想和大家分享的第五种设计模式就是——模版模式(Templete),闲话少叙,直接上干货。
-
模版模式(Template Pattern)
- 模版模式:模版模式是属于行为型模式,一个抽象类公开定义了执行它的方法的方式/模版。划重点哦:执行它的方法的模式
- 子类可以按照重写方法实现,但调用将以抽象类中定义的方式进行
- 意图:定义一个操作汇总的算法的骨架,而将一些步骤延迟到子类,模版方法使得子类可以在不改变一个算法的结构的时候重新定义该算法的某些特定步骤。
- 主要解决的问题:一些方法是通用,但是却在每一个子类中都重新写了这一个方法
-
优点
- 封装不变的部分,扩展可变的部分
- 提取公共的代码,便于维护
- 行为由父类型进行控制,子类型进行实现
- 注意:一般的模版方法都会加上final关键词
- 注意:在客户端的时候,创建的引用是父类的引用,然后创建的对象就是一个一个的子类就可以了。