关于《面向对象六大原则》的解读

目录

一:SRP  单一职责原则  Single Responsibility Priciple

二:OCP  开闭原则   Open Close Principle   让程序更稳定灵活

三:LSP  里氏替换原则  Liskov Substitution Principle    让程序扩展性更好

四:DIP   依赖倒置原则   Dependence Inversion Principle     

五:ISP  接口隔离原则   InterfaceSegregation Principles

六:LOD   迪米特原则   Law of Demeter    更好的扩展


一:SRP  单一职责原则  Single Responsibility Priciple

一个类中应该是一组相关性很高的函数、数据的封装,不一样的功能不应该放到一个类中。如何划分一个类、一个函数的职责可能还需要根据具体业务和个人经验而定。也就是功能范围的界定并不是绝对的。

二:OCP  开闭原则   Open Close Principle   让程序更稳定灵活

软件中的对象(类、模块、函数等)对于扩展应该是开放的,但是,对于修改是封闭的。而遵循开闭原则的重要手段应该是通过抽象。开发中尽可能的通过继承的方式来升级、维护原有系统。当然,在实际的开发过程中,修改原有代码、扩展代码往往是同时存在的。

三:LSP  里氏替换原则  Liskov Substitution Principle    让程序扩展性更好

所有引用基类的地方必须能透明地使用其子类的对象,反之不然。

面向对象的语言的三大特点是:封装、继承、多态,里氏替换原则就是依赖于继承、多态这两大特性。核心原理是抽象,通过抽象建立规范,处理业务时用具体实现替换抽象(依赖注入),保证系统的高扩展性和灵活性;抽象又依赖于继承这个特性。

开闭原则和里氏替换原则往往是生死相依、不弃不离的,通过里氏替换来达到对扩展开放,对修改关闭的效果。然而,这两个原则都同时强调了一个OOP的重要特性—抽象,因此,在开发过程中运用抽象是走向代码优化的重要一步。

四:DIP   依赖倒置原则   Dependence Inversion Principle     

代指一种特定的解偶形式,指模块间的依赖抽象,而不依赖具体实现,其依赖关系是通过接口或抽象类产生的,也就是面向接口或抽象类编程。

  • (1)高层模块不应该依赖低层模块,两者都应该依赖其抽象(接口/抽象类);
  • (2)抽象不应该依赖细节(实现类);
  • (3)细节应该依赖抽象。

五:ISP  接口隔离原则   InterfaceSegregation Principles

客户端不应该依赖它不需要的接口,或者说:类间的依赖关系应该建立在最小的接口上。接口隔离原则将非常庞大、臃肿的接口拆分成为更小的和更具体的接口。

六:LOD   迪米特原则   Law of Demeter    更好的扩展

也称为最少知识原则(Least Knowledge Principle),即:一个对象应该对其他对象有最少的了解。一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现、如何复杂都与调用者或者依赖者没关系,调用者或者依赖者只需要知道他需要的方法即可,至于方法的内部实现是完全不需要关心的。类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。

特别感谢:https://blog.csdn.net/bboyfeiyu/article/details/50103471

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值