定义一个算法或者流程,部分环节设计为外部可变,用类似于模板的思想来实例化一个实体,可以往模板中填充不同的内容;在模板思想下,实体的整体框架是确定的,他是一个模板,但是模板下内容可变,从而实现了动态的更新流程或算法。
示例code:
看了模板方法后,感觉和之前的一个设计模式比较相似《
python设计模式(二):建造者模式
》,但是建造者模式是将对象的构建和表示分离,相同的构建生成不同的表示对象,而模板方法是将定义的算法或流程中的部分环节推迟到子类中实现算法或流程的可变,这是二者本质的区别。
领取专属 10元无门槛券
私享最新 技术干货