模版方法模式(Template Method Pattern): 定义: 定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 基本方法: 也叫做基本操作,是有子类实现的方法,并且在模版方法被调用 模版方法: 可以有一个或几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调度,完成固定的逻辑 注意:一般模版方法都加上final关键之,不允许被修改 代码演示:
抽象模版类: 具体模版类: 场景类: 模版方法优点: 1. 封装不变部分,扩展可变部分:及把不变部分的算法封装到父类实现,如上面的myLife()方法,可变部分就通过继承来继续扩展 2. 提取公共部分代码,便于维护 3. 行为由父类控制,子类实现
基本方法是由子类实现,因此子类可以通过扩展的方式增加相应的功能,符合开闭原则 最佳实践: 相当于给我们提供了一个父类调用子类方法的路径,修改子类会影响父类的行为结果。
|