面向对象设计的五大原则

一:单一职责原则(Single Responsibility Principle,SRP)

含义:
1、避免相同的职责分散到不同的类中
2、避免一个类承担太多职责
作用:
1、可以减少类之间的耦合
2、提高类的复用性

二:接口隔离原则(Interface Segregation Principle,ISP)

含义:
1、一个类对另外一个类的依赖性应当是建立在最小的接口上的
2、客户端程序不应该依赖它不需要的接口方法(功能)
作用:
1、ISP可以达到不强迫客户(接口的使用方)依赖于它们不用的方法,接口的实现类应该只呈现为单一职责的角色(遵守SRP原则)
2、ISP可以降低客户之间的相互影响

三:开放封闭原则(Open-Close Principle,OCP)

含义:
1、Open(Open for extension):模块的行为必须是开放的、支持扩展到,而不是僵化的
2、Close(Close for extension):在对模块的功能进行扩展时,不应该影响或大规模的影响已有的程序模块

四:里氏替换原则(Liskov Substitution Principle,LSP)

含义:
1、子类型必须能够替换掉它们的父类型、并出现在父类能够出现的任何地方
2、LSP主要是针对继承的设计原则
如何遵守:
1、父类的方法都要在子类中实现或者重写,并且派生类只实现其抽象类中声明的方法,而不应当给出多余的方法定义和实现
2、在客户端程序中只应该使用父类对象而不应该直接使用子类对象,这样可以实现动态多态

五:依赖倒置原则(Dependence Inversion Principle,DIP)

含义:
1、上层模块不应该依赖于下层模块,它们共同依赖于一个抽象(父类不能依赖子类,它们都要依赖抽象类)
2、抽象不能依赖于具体,具体应该要依赖于抽象
如何遵守:
1、每个较高的层次类都为它所需要的服务提出一个接口声明,较低层次类实现这个接口
2、每个高层类都通过该抽象接口使用服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值