陈巧倩

设计模式-总结

· 78 words · 1 minutes to read
Categories: CSharp
Tags: Design Pattern

设计模式的目的是为了提高代码重用性、可读性、可扩展性、可靠性以及使程序呈现高内聚、低耦合的特性。

设计模式总结 🔗

分类 🔗

创建型模式 🔗

创建型模式是处理对象创建的设计模式,试图根据实际情况来使用合适的方式创建对象。

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

结构型模式 🔗

结构型模式是主要研究的是类和对象的组合的问题。

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

行为型模式 🔗

行为型模式是用来识别对象之间的常用交流模式并加以实现。

  • 模版方法模式(Template Method)
  • 解释器模式(Interpreter)
  • 备忘录模式(Memento)
  • 访问者模式(Visitor)
  • 策略模式(Stragety)
  • 状态模式(State)
  • 职责链模式(Chain of Responsibility)
  • 中介者模式(Mediator)
  • 观察者模式(Observer)
  • 迭代器模式(Iterator)
  • 命令模式(Command)

设计模式七大原则 🔗

单一职责原则 🔗

单一职责原则 (SRP:Single Responsibility Principle)): 它规定一个类应该只负责一项职责,以低耦合、高内聚为面向对象原则。相反职责过多,引起变化的原因就越多,这样就会导致职责依赖,大大损伤其内聚性和耦合度。

开闭原则 🔗

开闭原则(OCP:Open Closed Principle):一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。模块应尽量在不修改原代码的情况下进行扩展。

里氏替换原则 🔗

里氏替换原则(LSP:Liskov Substitution Principle):所有引用基类的地方必须能透明地使用其子类的对象,子类可以扩展父类的功能,但不能改变父类原有的功能。

依赖倒置原则 🔗

依赖倒转原则(DIP:Dependency Inversion Principle):程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。

接口隔离原则 🔗

接口隔离原则(ISP:Interface Segregation Principle):客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上,将接口拆分成几个独立的接口。

迪米特法则 🔗

迪米特法则(LOD:Law of Demeter),又称最少知道原则:一个实体应尽可能少地与其他实体发生相互作用。

合成复用原则 🔗

合成复用原则(CRP:Composite Reuse Principle):尽量使用合成/聚合的方式,而不是使用继承。

结论 🔗

搬砖愉快! 感谢Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。 感谢狂飙,“感谢"Piggyi。