六大设计原则

张开发
2026/4/18 4:28:38 15 分钟阅读

分享文章

六大设计原则
软件设计的六大原则是面向对象设计的核心指导思想分别是单一职责、开闭原则、里氏替换、依赖倒置、接口隔离和迪米特法则‌它们共同构成了设计模式的基础帮助构建高内聚、低耦合、易扩展的系统架构 。单一职责原则SRP一个类或模块应有且仅有一个引起它变化的原因。‌核心‌职责要单一避免“万能类”。‌好处‌降低类的复杂性提高可读性和维护性。‌示例‌用户管理类不应同时处理订单逻辑应拆分为 UserService 和 OrderService。开闭原则OCP对扩展开放对修改关闭。‌核心‌通过新增代码来实现功能扩展而不是修改已有代码。‌实现方式‌使用接口、抽象类 多态。‌示例‌搜狗输入法换皮肤时新增皮肤类即可无需修改主程序 。里氏替换原则LSP子类可以替换父类并且程序行为不变。‌核心‌继承不是为了复用而是为了多态。‌要求‌子类不能重写父类已有的行为逻辑只能扩展。‌反例‌正方形继承长方形后重写 setWidth导致 resize() 出错 。依赖倒置原则DIP高层模块不应依赖低层模块二者都应依赖抽象。‌核心‌面向接口编程而不是面向实现。‌示例‌司机不应依赖“奔驰车”具体类而应依赖“汽车”接口才能开宝马或特斯拉 。‌实现方式‌通过构造函数、setter 或接口注入依赖。接口隔离原则ISP客户端不应依赖它不需要的接口。‌核心‌将大而全的接口拆分为多个小接口。‌好处‌避免实现类被迫实现无用方法。‌示例‌安全门接口应拆分为 防火、防盗、防水按需实现。迪米特法则LoD又称“最少知道原则”一个对象应尽可能少地了解其他对象。‌核心‌降低类之间的耦合度。‌做法‌只与直接朋友通信如成员变量、方法参数、局部变量避免调用“陌生人”的方法。‌示例‌A类通过B类获取C类实例并调用其方法应改为B类提供服务接口A不直接接触C。这些原则并非孤立存在而是相辅相成。例如依赖倒置 接口隔离 开闭原则能共同支撑系统的可扩展性与稳定性 。

更多文章