面向对象编程的5大原则汪冰伦.docx
- 文档编号:25277506
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:13
- 大小:1.28MB
面向对象编程的5大原则汪冰伦.docx
《面向对象编程的5大原则汪冰伦.docx》由会员分享,可在线阅读,更多相关《面向对象编程的5大原则汪冰伦.docx(13页珍藏版)》请在冰豆网上搜索。
面向对象编程的5大原则汪冰伦
SRP
TheSingleResponsibilityPrinciple
单一责任原则
OCP
TheOpenClosedPrinciple
开放封闭原则
LSP
TheLiskovSubstitutionPrinciple
里氏替换原则
ISP
TheInterfaceSegregationPrinciple
接口分离原则
DIP
TheDependencyInversionPrinciple
依赖倒置原则
面向对象编程的5大原则
-by汪冰伦
此次整理参考:
《Android源码设计模式解析》-关爱民著
1.单一责任原则
定义:
不要存在多于一个导致类变更的原因。
通俗的说,即一个类只负责一项职责。
好处:
1.代码易于组织如公司部门划分;
2.减少脆弱:
当一个类有多个理由需要修改时,它变得脆弱,在一个地方的修改会导致其他地方不可预期的后果;
3.易于调试
4.易于测试
降低耦合
V0.1
V0.2
好处:
ImageLoader只负责图片的加载,ImageCache只负责缓存,
职责清晰,如果缓存需要修改的时候,不需要修改ImageLoader。
2.开闭原则
定义:
程序一旦开发完成,程序中某一个类的实现只应该因错误被修改,新的需求应该创建新的类去实现或拓展。
也就是对修改关闭、对拓展开放;
V0.3
V0.4
V0.5
3.里氏替换原则
定义:
如果对每一个类型为T1的对象O1,都有类型为T2的对象O2,使得以T1定义的所有程序P在所有的对象O1都代换成O2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。
任何基类可以出现的地方,子类一定可以出现,并且不会使程序出错。
注意:
●子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。
●子类中可以增加自己特有的方法。
看上去很不可思议,因为我们会发现在自己编程中常常会违反里氏替换原则,程序照样跑的好好的。
所以大家都会产生这样的疑问,假如我非要不遵循里氏替换原则会有什么后果?
后果就是:
你写的代码出问题的几率将会大大增加。
里氏代换原则是很多其它设计模式的基础。
它和开闭封闭原则的联系尤为紧密。
违背了里氏代换原则就一定不符合开放封闭原则。
4.依赖倒置原则
定义:
A.模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的
B.抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
好处:
降低类之间的耦合性,提高系统的稳定性,避免对旧程序的修改
依赖倒置原则是实现开闭原则的重要方法,只要懂得”面向接口编程”就基本上抓住了依赖倒置原则的核心了。
5.接口隔离原则
定义:
类间的依赖关系应该建立在最小的接口上。
例子:
Cloneable、Iterator、Runnable
好处:
程序拓展性强,程序更加灵活
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 编程 原则 汪冰伦