设计模式

简介

设计模式用于在特定条件下为一些重复出现的软件设计问题提供合理的、有效的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

设计原则

简介

提高面向对象的软件系统的可维护性可复用性是面向对象设计的核心问题之一。而面向对象的设计原则就是为支持可维护性和复用性而诞生。

单一职责原则(Single Responsibility Principle, SRP)

一个类只负责一个功能领域中的相应职责。是实现高内聚、低耦合的指导方针。

开闭原则(Open-Closed Principle, OCP)

软件实体应该对扩展开放(可复用性),对修改关闭。

里氏代换原则(Liskov Substitution Principle, LSP)

所有引用基类(父类)对象的地方都能透明地使用其子类的对象。在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。

依赖倒转原则(Dependence Inversion Principle, DIP)

抽象类不应该依赖于细节,细节应该依赖于抽象。

接口隔离原则(Interface Segregation Principle, ISP)

使用多个专门的接口。而不使用单一的总接口。

合成复用原则(Composite Reuse Principle, CRP)

尽量使用对象组合,而不是继承来达到复用的目的

迪米特法则(Law of Demeter, LoD)

一个软件实体应该尽可能少的与其他实体发生相互作用。

23种设计模式

参考链接1

参考链接2