长长的一生,总要勤勤恳恳,刻苦专研。把一件事情做到极致,不然,岂非白活了?
一、举个栗子
在造房子的时候,地基、走线、水管都一样,只有在建筑的后期才有加壁橱、床等装饰物。
二、模式的结构
- 定义一个抽象类:Day
- 包含抽象出来的常用的方法(有实现)
- 包含抽象方法,想要让子类去实现的(没有实现)
- 【重要】为了恶意操作,就把模板方法前面加上 final关键字
三、实例程序
我这里就模拟一个人从起床到睡觉的一天。例子参考:模板方法模式:例子来源
四、优点
- 封装部分不变,扩展部分可变
- 提取公共代码,便于维护
- 行为由父类控制,子类实现
五、缺点
每一个不同的实现都需要一个子类来实现,导致类的数量增加。
参考并感谢
[1] http://www.runoob.com/design-pattern/template-pattern.html
[2] https://www.cnblogs.com/chenpi/p/5217430.html