SOLID设计原则

 

1. SRP单一职责原则

任何一个软件模块都应该有且仅有一个被修改的原因。

反例是一个类的三个方法给三个部门提供服务,而这三个方法有一些公共子方法,很有可能因为A部门的代码变更改动,导致B、C部门调用的方法出现意料之外的结果。

2. OCP开闭原则

设计良好的计算机软件应该易于扩展,同时抗拒修改。其主要目标是让系统易于扩展,同时限制其每次被修改所影响的范围。

3. LSP里氏替换原则

所有引用基类的地方必须能透明地使用其子类的对象。简单地说:所有父类能出现的地方,子类就可以出现,并且替换了也不会出现任何错误。这就要求子类的所有相同方法,都必须遵循父类的约定,否则当父类替换为子类时就会出错。LSP 重点强调:对使用者来说,能够使用父类的地方,一定可以使用其子类,并且预期结果是一致的。

4. ISP接口隔离原则

不同的操作隔离成接口,任何层次的软件设计如果依赖了他并不需要的东西,都会带来依赖之外的麻烦,ISP 提倡不要将一个大而全的接口扔给使用者,而是将每个使用者关注的接口进行隔离。

5. DIP依赖反转原则

如果想要设计一个灵活的系统,在源代码层次的依赖关系中就应该多引用抽象类型,而非具体实现,从依赖具体实现转向到依赖抽象接口。从下图中我们可以看到实际调用方向和接口的实现与注入实例的方向是相反的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值