您的位置:首页 > 编程语言 > Java开发

设计模式---策略模式

2016-04-06 22:20 351 查看

设计模式---策略模式

1、定义

策略模式将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现,并使他们可以相互替换,从而导致客户端程序独立于算法的改变。

2、设计原则

找出应用中变化的部分,把他们独立出来,不要和那些不需要变化的代码混在一起
面向接口编程,而不是面向实现编程
多用组合,少用继承

3、策略模式的实现

1、通过分离变化得出的策略接口Strategy
2、Strategy的实现类
3、客户程序中有一个Strategy
4、在客户程序中选择/组装正确的Strategy实现

4、优点

1、使用了组合,使架构更加灵活
2、富有弹性,可以较好的应对变化(开-闭原则)
3、更好的代码复用性(相对于继承)
4、消除大量的条件语句

5、缺点

1、客户代码需要里了解每个策略实现的细节
2、增加了对象的数目

6、适用场景

1、许多相关的类仅仅是行为的差异
2、运行时选取不同的算法变体
3、通过条件语句在多个分支中选取一
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息