应用场景
平时在项目中,总会遇到一些需求,比如要实现一个功能,需要有N个步骤,这N个步骤的调用顺序是固定的,而某些步骤的具体实现是不同的。这样就有必要把变化的和不变的隔离开来,这就是模板模式的应用场景。
设计思想
模板模式就是在抽象类中定义一个整体的算法骨架,也可以说是整体流程,而把部分子流程的具体实现放到子类中实现。把不变的子流程放在抽象类中实现,而把变化的子流程放到子类中实现。这样才符合开闭原则。客户端调用时,只要用父类的引用指向子类的具体对象,调用父类(抽象类)的整体流程包装方法即可,实现晚绑定。
网友评论