面向对象的五个基本原则

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

  • 单一功能原则

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

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

  • 里氏替换原则

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

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

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

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

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

  • 依赖反转原则

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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容