设计模式六大原则

  1. 开闭原则(Open Closed Principle, OCP):一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。这意味着软件实体应尽量在不修改原有代码的情况下进行扩展。12
  2. 里氏代换原则(Liskov Substitution Principle, LSP):任何基类可以出现的地方,子类一定可以出现。这是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用。13
  3. 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一项职责。这有助于降低类的复杂性,提高可读性和可维护性。13
  4. 依赖倒置原则(Dependence Inversion Principle, DIP):高层模块不应该依赖低层模块,两者都应依赖其抽象。这降低了客户与实现模块间的耦合,提高了系统的稳定性。57
  5. 接口隔离原则(Interface Segregation Principle, ISP):客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。这有助于减少不必要的依赖,提高系统的灵活性。17
  6. 迪米特法则(Law of Demeter, LOD),又称最少知道原则:一个对象应该对其他对象保持最少的了解。这降低了类与类之间的耦合,减少了不必要的交互。1

这些原则是面向对象设计和编程中的重要指导原则,帮助开发者创建可维护、可扩展和稳定的软件系统。

相关推荐
茶本无香2 小时前
设计模式之二—原型模式:灵活的对象克隆机制
java·设计模式·原型模式
GISer_Jing2 小时前
Nano Banana+LoveArt三大核心功能解析:重构AI设计全链路,让创意落地更高效
人工智能·设计模式·aigc
会员果汁3 小时前
14.设计模式-备忘录模式
设计模式·备忘录模式
xiaolyuh12313 小时前
Spring 框架 核心架构设计 深度详解
spring·设计模式·spring 设计模式
GISer_Jing1 天前
智能体工具使用、规划模式
人工智能·设计模式·prompt·aigc
GISer_Jing1 天前
AI Agent:学习与适应、模型上下文协议
人工智能·学习·设计模式·aigc
小马爱打代码1 天前
MyBatis设计模式:构建者、工厂、代理模式
设计模式·mybatis·代理模式
月明长歌1 天前
Javasynchronized 原理拆解:锁升级链路 + JVM 优化 + CAS 与 ABA 问题(完整整合版)
java·开发语言·jvm·安全·设计模式
会员果汁1 天前
12.设计模式-状态模式
设计模式·状态模式
Yu_Lijing1 天前
基于C++的《Head First设计模式》笔记——抽象工厂模式
c++·笔记·设计模式