11.7设计模式-策略模式-详解

2018-11-18  本文已影响0人  205蚁

设计模式-策略模式

1.策略模式详解

1.概念
    定义一系列的算法,把他们一个个封装起来,并且他们可以相互替换。
    本模式使得算法可独立于使用它的客户而变化。
    大量if else ,增加更加难以维护
2.使用场景
    一个类定义了多种行为,并且这个类的行为在这个方法中以多个条件语句的形式出现,那么可以使用策略模式避免在类中使用大量的条件语句。
3.UML结构图分析
    图:
        思路:通过一个持有Context的上下文对象,来封装一系列算法,Context对象并不负责决定使用哪个算法,而是把我们的算法选择工作交给了client端,client选择好之后设置到Context中,让Context去持有算法策略,
4.实际代码分析
    图
        Context 。set、get方法,持有策略对象引用
        接口AbstractStrategy:抽象方法 int calculatePrice(int km);
5.策略模式的优缺点
    1.上下文(Context)和具体策略(ContextStrategy)是松耦合关系。
    2.策略模式满足 开-闭原则

2.策略模式在android中的实际运用

11-8_11章结束[00_11_19][20180806-130023-9].jpg 11-8_11章结束[00_13_42][20180806-130151-0].jpg 11-8_11章结束[00_13_46][20180806-130154-1].jpg
上一篇下一篇

猜你喜欢

热点阅读