Strategy模式:
定义一系列算法,把他们封装起来,并使他们能够相互替换,从而可以使算法与独立于用户变化。
UML结构图:
与Template模式的区别:
1。Template模式主要利用类的继承与多态来解藕接口与算法,使算法独立于客户变化,Strategy模式主要利用组合来解藕接口与算法,使算法独立于客户变化。
2。它们都可以用来分离高层的算法与具体实现细节,使高层的算法独立于它的具体实现细节重用,但Strategy模式的每个具体细节实现也可以被不同的算法重用。
Strategy模式:
定义一系列算法,把他们封装起来,并使他们能够相互替换,从而可以使算法与独立于用户变化。
UML结构图:
与Template模式的区别:
1。Template模式主要利用类的继承与多态来解藕接口与算法,使算法独立于客户变化,Strategy模式主要利用组合来解藕接口与算法,使算法独立于客户变化。
2。它们都可以用来分离高层的算法与具体实现细节,使高层的算法独立于它的具体实现细节重用,但Strategy模式的每个具体细节实现也可以被不同的算法重用。