设计模式学习每日一记(13.策略模式)

策略模式

A.定义:

定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。

B.定义分析:

"定义一系列算法,并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。"完成相同功能的算法.

"定义一系列算法并把他们一个个封装起来,使他们能够相互替换。使算法能够独立于客户而变化。"不同的算法,封装在不同的类里。

"定义一系列算法并把他们一个个封装起来使他们能够相互替换。使算法能够独立于客户而变化。"封装不同算法的类,完成相同功能的接口应该是一样的,且要集成自同一个基类,这样他们就能够无缝替换了。

C.问题:

(1)什么时候使用?

完成一个功能,算法可能是变的,需要扩展、维护,不能硬编码。

不同的时候,可能需要不同的算法,不想支持并不需要的算法,也不想写很多的switch case。

原文地址:https://www.cnblogs.com/linucos/p/2228921.html