iOS设计模式浅析策略模式

  1. 应用场景:定义算法族,封装起来,使他们之间可以相互替换。
  2. 优势:使算法的变化独立于使用算法的用户
  3. 敏捷原则:接口隔离原则;多用组合,少用继承;针对接口编程,而非实现。
  4. 实例:排序算法,NSArray的sortedArrayUsingSelector;
  5. 注意事项:
    1. 剥离类中易于变化的行为,通过组合的方式嵌入抽象基类
    2. 变化的行为抽象基类为,所有可变变化的父类
    3. 用户类的最终实例,通过注入行为实例的方式,设定易变行为
    4.防止了继承行为方式,导致无关行为污染子类。完成了策略封装和可替换性。
  • 详见设计模式之策略模式
  • 策略模式相比起工厂模式,在形式上看差不多,差异的地方在于策略模式可以调用接口直接得到最终的结果,而工厂模式侧重于输出某个对应的产品,再由产品得出最终的结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,970评论 1 15
  • 1 场景问题# 1.1 报价管理## 向客户报价,对于销售部门的人来讲,这是一个非常重大、非常复杂的问题,对不同的...
    七寸知架构阅读 5,127评论 9 62
  • 1 场景问题 1.1 报价管理 向客户报价,对于销售部门的人来讲,这是一个非常重大、非常复杂的问题,对不同的客户要...
    4e70992f13e7阅读 3,111评论 2 16
  • 设计模式基本原则 开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以拓展,但是不可修改。开-闭原...
    西山薄凉阅读 3,868评论 3 14
  • 一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者...
    RamboLI阅读 768评论 0 1