Contextinterface
Strategy
ConcreteStrategy C
Algorthminterface()
ConcreteStrategy B
Algorthminterface()
ConcreteStrategy A
Algorthminterface()
策略模式以以下两条原则为基础:
(1)对象都具有不同的职责,这些不同的职责的具体实现是在多态的使用的基础上完成的。
(2)需要管理那些概念上相同但具有不同实现的算法,把问题域中的各个行为互相分离独立开来,也就是实现解耦和。这使得我们在要修改时,只需负责某一行为的类,不会对其它的类产生不良影响,是一个非常好的设计实践。