设计模式

作者: a437e8f87a81 | 来源:发表于2017-12-13 13:41 被阅读0次

    设计模式

    设计模式认知

    为解决特定场景下的问题而去定义的解决方案, 说起来又比较模糊, 但是设计模式又是实实在在存在的, 针对开发的一些问题, 有比较好的解决方案, 经过大量的时间和验证, 达到了大家的认可, 才有了这23种设计模式, 构建出可复用, 可维护代码的经验法则

    设计模式有什么好处呢? 项目的结构更加清晰, 更加有利于项目的后期维护

    设计模式的基本原则

    1. 开闭原则 ( Open Closed Principle, OCP ) 对模块拓展开放, 对修改关闭, 比较理想化
    2. 里氏替换原则 ( Liskov Substitution Principle, LSP ) 任何类可以出现的地方, 子类一定可以出现, 子类和父类可以相互替换, 子类可以替换父类的所有方法, 这里是不是想起多态
    3. 依赖倒转原则 ( Dependency Inversion Principle, DIP ) 接口, 抽象不依赖与细节, 细节依赖于抽象
    4. 接口隔离原则 ( Interface Segregation Principle, ISP ) 接口中只做必要的事情, 不做其他的不相关事情
    5. 合成/聚合复用原则 ( Composite/ Aggregate Reuse Principle, CARP ) 需要从一个类扩展出另外一种方法, 尽量不要使用继承, 使用新的方法
    6. 最小知识原则 ( Principle of Least Knowledge, PLK ) 两个类没有直接的通信, 比如说AB两类, 没有直接同行, 那么我们来使用一个C类来作为一个中间类
    7. 单一职责原则 ( Single responsibility principle, SRP ) 一个类只负责一个功能领域

    此处是我们设计模式原则的demo, 大家可以去我的git下载, 欢迎star
    下载链接 : demo地址

    设计模式的类型

    1. GOF设计模式
    2. 并发设计模式
    3. 框架级别的设计模式

    23种设计模式的分类

    1. 创建型模式: 5种
      单例模式, 抽象工厂模式, 建造者模式, 原型模式, 工厂模式
    2. 并发设计模式: 7种
      代理模式, 组合模式, 桥接模式, 享元模式, 外观模式, 装饰模式, 适配器模式
    3. 框架级别的设计模式: 11种
      观察者模式, 访问者模式, 中介者模式, 解释器模式, 策略模式, 迭代器模式, 命令模式, 状态模式, 备忘录模式, 模板方法模式, 责任链模式

    像我们平常的开发中用到的KVO, 通知都属于观察者模式, target\action属于命令模式, delegate属于代理模式 ( 类似适配器模式 ) , model和view中数据的通道, 也就是Controller属于中介者设计模式, MVC框架也可以理解为一个复合设计模式

    UML建模语言 ( 简单介绍 )

    UML统称建模语言, 面向对象软件的标准化建模语言
    双向关联
    单项关联
    聚合关系
    组合关系 相对独立
    依赖关系 a类创建创建b类中的对象,一个雷实例化另一个类
    继承关系
    实现关系 实现类中接口
    例如下面是SDwebimage展示图


    SDWebimage.png

    时序图
    例如下面是微信支付的展示图


    微信支付.png

    技术交流q群150731459

    相关文章

      网友评论

        本文标题:设计模式

        本文链接:https://www.haomeiwen.com/subject/ylbaixtx.html