zoukankan      html  css  js  c++  java
  • 无废话设计模式(0)--设计模式的六大原则

    设计模式的六大原则:

    1、单一职责原则:对于一个类,应该只有一个引起它变化的原因;

    2、里氏替换原则:子类必须能够替换掉他们的父类型;

    3、开放封闭原则:程序的对象应该可以扩展,但不应该可以修改;

    4、依赖倒转原则:高层模块不应依赖于底层模块,两者都应依赖于抽象;抽象不依赖于集体细节,而细节应该依赖于抽象;

    5、合成/聚合复用原则:尽量不要使用类继承,而尽量使用合成/聚合;

    6、迪米特法则:如果两个类之间不必直接通信,则这两个类不应该发生直接的相互作用;如果其中一个类需要调用另外一个类的某个方法,可以通过第三方来转发这个调用;

    设计模式的类型
    23 种设计模式,这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。

    1 创建型模式
    这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。


    工厂模式(Factory Pattern)
    抽象工厂模式(Abstract Factory Pattern)
    单例模式(Singleton Pattern)
    建造者模式(Builder Pattern)
    原型模式(Prototype Pattern)


    2 结构型模式
    这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。


    适配器模式(Adapter Pattern)
    桥接模式(Bridge Pattern)
    过滤器模式(Filter、Criteria Pattern)
    组合模式(Composite Pattern)
    装饰器模式(Decorator Pattern)
    外观模式(Facade Pattern)
    享元模式(Flyweight Pattern)
    代理模式(Proxy Pattern)


    3 行为型模式
    这些设计模式特别关注对象之间的通信。


    责任链模式(Chain of Responsibility Pattern)
    命令模式(Command Pattern)
    解释器模式(Interpreter Pattern)
    迭代器模式(Iterator Pattern)
    中介者模式(Mediator Pattern)
    备忘录模式(Memento Pattern)
    观察者模式(Observer Pattern)
    状态模式(State Pattern)
    空对象模式(Null Object Pattern)
    策略模式(Strategy Pattern)
    模板模式(Template Pattern)
    访问者模式(Visitor Pattern)

  • 相关阅读:
    Objective-C 和 Swift 第三方库使用
    如何在Swift的代码中使用OC的代码, 在OC的代码中使用Swift的代码?
    swift之水纹动画
    HandyJSON.Metadata.Class Xcode10.2, swift5.0 报错 linker command failed with exit code 1
    Python开发【第十篇】:CSS (二)
    Python开发【第十篇】:CSS --无内容点击-不进去(一)
    Python开发【第九篇】:HTML (二)
    Python开发【第九篇】:HTML --无内容点击-不进去(一)
    Python开发【第八篇】:网络编程
    Python开发【第七篇】:面向对象 和 python面向对象(初级篇)(上)
  • 原文地址:https://www.cnblogs.com/yanghj/p/11406275.html
Copyright © 2011-2022 走看看