策略模式
A.定义:
定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。
B.定义分析:
"定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。"完成相同功能的算法.
"定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。"不同的算法,封装在不同的类里。
"定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。"封装不同算法的类,完成相同功能的接口应该是一样的,且要集成自同一个基类,这样他们就能够无缝替换了。
C.问题:
(1)什么时候使用?
完成一个功能,算法可能是变的,需要扩展、维护,不能硬编码。
不同的时候,可能需要不同的算法,不想支持并不需要的算法,也不想写很多的switch case。