模板方法模式(Template Method)和策略模式都是用来解决通用算法和使用的上下文环境分离的代码抽象问题,前者思路是靠继承,后者则靠委托。
模板方法模式很简单,就是提供一些可以用来继承覆盖的通用方法,然后在上下文环境中提前调用通用这些方法,类似做stub。派生类继承后可以改写通用方法,从而完成更多具体的算法实现。缺点是导致派生类里面的具体算法实现和基类无形中绑定了。
策略模式相对复杂一些,本质是把通用方法委托给了另一个抽象类。但是更好解决了问题,因此个人理解在可能的设计里都更推荐策略模式取代模板方法。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 设计模式——订阅模式(观察者模式)
- 设计模式-简单工厂、工厂方法模式、抽象工厂模式
- java23种设计模式-门面模式(外观模式)
- 设计模式-享元设计模式
- Java 设计模式之工厂方法模式与抽象工厂模式
- JAVA设计模式之模板方法模式和建造者模式
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。