面向对象设计原则之汇总

什么是设计原则

就是帮助你在设计的时候 提供你一个思路一个好的方案的原则。

目的: 开发完成需求 完成项目
手段: 运用良好的设计原则与设计模式支持

并不是说 一定要设计按照原则来,再合适的时间内用合适的设计原则,进行合适的设计,完成目标。这是最重要的

设计原则 是一种参考,像说明书一样。给你个思路。

哪些设计原则,设计为了实现哪些情况
  1. 开闭原则 OCP 应对封装继承:不修改底层封装代码,扩展应对继承延申,达到 复用
  2. 里氏替换 LSP 应对封装继承:不影响底层封装含义,扩展避免重写重载,到达 复用
  3. 单一职责 SRP 应对 类本身:定位清晰,不影响别的职责达到解耦
  4. 接口分离 ISP 应对 接口本身:定位清晰,不影响别的接口达到解耦
  5. 依赖倒置 DIP 应对 细节与抽象 聚焦共同抽象一处注入实现 达到高内聚
  6. 合成复用 CRP 应对 继承或组装接口:整合所需关联行为 达到 复用/高内聚
  7. 迪米特 LoD 应对 类与类少关联/关联处的细节与抽象 达到解耦/高内聚
小结

好的项目都在 追求着 低耦合 高内聚 高可用 的 原则

低耦合 是在 与本身无关或关联少的点上做文章
比如 单一职责/接口分离

本身业务内或者与其他业务有关联的地方就尽量做到 高内聚
比如 依赖倒置

在项目后期维护中 必须考虑的 高可用
比如 开闭原则/里氏替换

合成复用 是嫌弃 开闭原则/里氏替换 ,所以利用 依赖倒置原则 想法来 高内聚解决关联性复杂问题,出现 复用/高内聚的 组合方案
迪米特 是 不能完全 解耦类与类,不得已 利用 依赖倒置原则 想法来 高内聚解决关联性复杂问题 出现 解耦/高内聚 的组合方案

所以 合成复用 和 迪米特 共同点就是 类与类之间有些许关联
差别就是 合成复用 更像是 子类父类 之间的关联 不需要中介类
迪米特 是 父类 与 父类之间的关联 需要中介类处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值