SOLID六大设计原则

18 篇文章 0 订阅
1 篇文章 0 订阅
六大设计原则SOLID

单一职责原则:Single Responsibility Principle

开闭原则:Open Closed Principle

里氏替换原则:Liskov Substitution Principle

迪米特法则:Law of Demeter

接口隔离原则:Interface Segregation Principle

依赖倒置原则:Dependence Inversion Principle

单一职责原则:Single Responsibility Principle

一个类只应承担一种责任。比如

开闭原则:Open Closed Principle

实体应该对扩展是开放的,对修改是封闭的。即,可扩展(extension),不可修改(modification)。将经常会修改的点以扩展点的方式开放出来,保证每次需求不改老代码。策略模式是比较好的实现

举例

一个商户接入了多个付款方式,如支付宝和微信支付

里氏替换原则:Liskov Substitution Principle

一个对象在其出现的任何地方,都可以用子类实例做替换,并且不会导致程序的错误。换句话说,当子类可以在任意地方替换基类且软件功能不受影响时,这种继承关系的建模才是合理的。

举例

经典的例子: 正方形不是长方形的子类。原因是正方形多了一个属性“长 == 宽”。这时,对正方形类设置不同的长和宽,计算面积的结果是最后设置那项的平方,而不是长*宽,从而发生了与长方形不一致的行为。如果程序依赖了长方形的面积计算方式,并使用正方形替换了长方形,实际表现与预期不符。

迪米特法则:Law of Demeter

一个对象应该对其他对象有最少的了解,如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。

该原则也很好理解,我们在写一个类的时候,应该尽可能的少暴露自己的接口。什么意思呢?就是说,在写类的时候,能不 public 就不 public ,所有暴露的属性或是接口,都是不得不暴露的,这样的话,就能保证其他类对这个类有最少的了解了

接口隔离原则:Interface Segregation Principle

客户(client)不应被强迫依赖它不使用的方法。即,一个类实现的接口中,包含了它不需要的方法。将接口拆分成更小和更具体的接口,有助于解耦,从而更容易重构、更改

依赖倒置原则:Dependence Inversion Principle

应该尽可能的依赖接口,不要依赖实现

参考资料
  1. 知乎-高级开发必须理解的Java中SPI机制
  2. cnblogs-面向对象的SOLID原则
  3. 设计模式六大原则——SOLID
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值