面向对象编程的五个基本原则

SOLID 是 面向对象编程 和 面试对象设计 的五个基本原则,应用这五个原则能创建一个易于维护和扩展的软件系统。SOLID 可以指导代码重构和在迭代的过程中进行代码清扫,以使得软件源代码清晰可读和具有良好的扩展性。在测试驱动开发中是典型应用场景,并且也是敏捷开发和自适应软件开发基本原则的重要组成部分。

  • 单一功能原则

对象应该仅具有一种单一功能

软件应该对扩展开放,但对于修改封闭

  • 里氏替换原则

程序中的对象应该可以在不改变程序正确性的前提下被他的子类所替换。

如果它看上去像一只鸭子,并且像鸭子一样嘎嘎叫,但是需要电池 - 你可能错误的抽象了。

当一个子类实例能够替换器父类的实例时,它们之间才具有IS-A关系。

一个违反LSP的典型例子Square(正方形类)派生于Rectangle(长方形类)。如果一个正方形对象用于期望长方形的上下文中,可能出现意外,因为正方形的宽高不能独立修改。

多个特定客户端的接口要好于一个宽泛用途的接口

  • 依赖反转原则

一个方法应该遵从依赖抽象而不是一个实例

想象一下,你会将一个灯直接焊接到插槽上吗?

参考开闭原则中的PayService::checkout依赖的接口而不是实现类就是遵循了依赖翻转原则

S.O.L.I.D 面向对象设计和编程(OOD&OOP)笔记

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值