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

设计模式-策略模式

    1. 策略模式详解
    1. 策略模式在android中的实际运用

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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,341评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,515评论 2 59
  • 人的傲慢都是来自无知,不知从什么时候起,我的字典里才有了谦卑这两字。估计是从静下心来深度学习开始的。以前的学习都是...
    琴舞一鸣阅读 1,153评论 0 0
  • 定力 花香,树叶迈步于风向 鞭子的力度决定于羊群的流云 苇叶惊扰起一群野鸭, 非雪花纷纷,雨水的霏霏。 蝴蝶,红酒...
    凉爽清风阅读 2,854评论 5 16
  • 马云是那种爱出风头的人,刘强东不是,很多企业家都不爱聚会,雷军,任正非也一样,还有魅族老板黄章,从来不接受采访,连...
    Robin_lian阅读 1,463评论 0 1

友情链接更多精彩内容