本文为敏捷软件开发 - 原则、模式与实践系列的一部分。
本文对应原书第14章
介绍
TEMPLATE METHOD模式和STRATEGY模式都可以分离通用的算法和具体的上下文。在软件设计中经常会看到这样的需求。我们有一个通用的算法。为了遵循依赖倒置原则(DIP),我们想确保这个通用的算法不要依赖于具体的实现。我们更想使这个通用的算法和具体的实现都依赖于抽象。不同的是,TEMPLATE METHOD模式使用继承来解决问题,而STRATEGY模式使用的则是委托。
本文为敏捷软件开发 - 原则、模式与实践系列的一部分。
本文对应原书第14章
TEMPLATE METHOD模式和STRATEGY模式都可以分离通用的算法和具体的上下文。在软件设计中经常会看到这样的需求。我们有一个通用的算法。为了遵循依赖倒置原则(DIP),我们想确保这个通用的算法不要依赖于具体的实现。我们更想使这个通用的算法和具体的实现都依赖于抽象。不同的是,TEMPLATE METHOD模式使用继承来解决问题,而STRATEGY模式使用的则是委托。