软件设计原则与设计模式概述

1 软件设计原则

  • 开闭原则(OCP)
    开闭原则(Open-Closed Principle):一个软件实体应当对扩展开放,对修改关闭。

  • 里氏代换原则(LSP)
    里氏代换原则(Liskov Substitution Principle):子类型必须能够替换它们的基类型。反过来的代换不成立。

  • 依赖倒置原则(DIP)
    依赖倒置原则(Dependence Inversion Principle):具体要依赖于抽象,抽象不要依赖于具体。

  • 接口隔离原则(ISP)
    接口隔离原则(Interface Segregation Principle):使用多个专门的接口比使用单一的总接口总要好。

  • 合成/聚合复用原则(CARP)
    合成/聚合复用原则(Composite/Aggregate Reuse Principle或CARP):就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新对象通过向这些对象的委派达到复用已有功能的目的。

  • 迪米特法则(LoD)
    迪米特法则(Law of Demeter或简写LoD)又叫最少知识原则(Least Knowledge Principle或简写为LKP):一个对象应当对其它对象有尽可能少的了解。不要和陌生人说话。

  • 抽象类原则
    抽象类不会有实例,一般作为父类为子类继承,一般包含这个系的共同属性和方法。

2 设计模式

创建模式,提供实例化的方法,为适合的状况提供相应的对象创建方法。

  • Factory Method(工厂方法)
  • Abstract Factory(抽象工厂)
  • Builder(建造者)
  • Prototype(原型)
  • Singleton(单例)

结构化模式,通常用来处理实体之间的关系,使得这些实体能够更好地协同工作。

  • Adapter Class/Object(适配器)
  • Bridge(桥接)
  • Composite(组合)
  • Decorator(装饰)
  • Facade(外观)
  • Flyweight(享元)
  • Proxy(代理)

行为模式,用于在不同的实体建进行通信,为实体之间的通信提供更容易,更灵活的通信方法。

  • Interpreter(解释器)
  • Template Method(模板方法)
  • Chain of Responsibility(责任链)
  • Command(命令)
  • Iterator(迭代器)
  • Mediator(中介者)
  • Memento(备忘录)
  • Observer(观察者)
  • State(状态)
  • Strategy(策略)
  • Visitor(访问者)
posted @ 2020-12-30 17:05  小杜打醋尢买布  阅读(166)  评论(0)    收藏  举报