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)

  • 相关阅读:
    mysql中字符集和排序规则说明
    结束进程的批处理文件
    内有干货!2个人3个月怎样从零完毕一款社区App《林卡》
    九度OJ 1006 ZOJ问题 (这题測试数据有问题)
    简易版的堆的写法
    hbase
    JNDI配置c3p0连接池
    [effictive c++] 条款04 确定对象被使用前已被初始化
    第九十五题(推断一字符串是不是对称的)
    OpenFace库(Tadas Baltrusaitis)中基于Haar Cascade Classifiers进行人脸检測的測试代码
  • 原文地址:https://www.cnblogs.com/yanghj/p/11406275.html
Copyright © 2011-2022 走看看