六大设计原则
首先在面向对象设计中,有六大设计原则被广泛接受,它们有助于指导开发者编写更灵活、可复用、易于维护的代码。
- 单一职责原则 (Single Responsibility Principle, SRP)
一个类应该只负责一个功能领域的事项。
示例:一个订单处理类只处理订单相关的事务,而不应该处理库存管理。
- 开放封闭原则 (Open/Closed Principle, OCP)
软件实体应当向扩展开放,向修改封闭。
示例:通过继承和多态,可以在不修改原有代码的情况下增加新功能。
- 里氏替换原则 (Liskov Substitution Principle, LSP)
子类必须能够替换它们的基类。
示例:如果基类定义了一个方法,子类要么完全不覆盖它,要么覆盖时行为不能改变基类的契约。
- 依赖倒置原则 (Dependence Inversion Principle, DIP)
抽象不应该依赖于细节,细节应该依赖于抽象。
示例:类间依赖应该基于接口或抽象类,而不是具体实现。
- 接口隔离原则 (Interface Segregation Principle, ISP)
使用多个专门的接口比使用单一的总接口要好。
示例:如果一个接口太大,则需要将它分割成一些更细小的接口,使用哪个接口则具体实现哪个接口。
- 迪米特法则 (Law of Demeter, LoD)
一个对象应该对其他对象保持最少的了解。
示例:对象之间应该通过已知接口交互,减少不必要的直接依赖。
其中我们只需要重点关注三个常用的原则:单一职责原则、开放封闭原则、依赖倒置原则。
设计模式分类
- 创建型模式:用于描述怎么样创建对象,重在将对象的创建和使用分离。有单例、原型、工厂方法,抽象工厂、建造者模式。
- 结构型模式:用于描述如何将对象按照某种布局组成更大的结构。有代理、适配器、桥接、装饰、外观、享元、组合模式。
- 行为型模式:用于描述对象间如何协作完成单个对象无法单独完成的任务,以及怎么分配职责。有模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器模式。
23种设计模式详情


被折叠的 条评论
为什么被折叠?



