设计模式——面向对象设计的原则(二)
来源:互联网 发布:淘宝旺旺客服兼职 编辑:程序博客网 时间:2024/05/17 03:27
在设计模式——面向对象设计的原则(一)中总结了里氏代换原则原则、合成\聚合原则、迪米特原则这三个原则,接下来总结单一职责原则、开放封闭原则、依赖转换原则。
单一职责原则:
解释:就一个类而言只专注做一件事,应该仅有一个引起它变化的原因。
所谓职责就是说对象能够承担的责任,对象的职责是要为其他的对象提供调用,从而形成对象之间的协作,由此产生耦合关系,所以职责越少耦合就越低,软件才能容易维护,易复用。
例如(如图):电脑的主机内部cpu、内存条、硬盘等等各个部件就很好的做到了单一职责原则,当内存条坏了的时候,换个新的内存条就行了,不需要去更换硬盘。
开放封闭原则:
解释:是说软件实体(类、模式、函数等等)应该可以扩展,但是不可修改。
对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况;对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。
例如:如果梦想是已经设计完成的一个类,那么梦想可以去沿着原来方向去扩展让梦想更具体、更伟大,但是不能去改变它或者放弃它。
依赖倒转原则:
解释:1.高层模块不应该依赖底层模块,两个都应该依赖抽象。2.抽象不应该依赖细节,细节应该依赖抽象。
简单的说就是要对抽象或接口进行编程,而不是对实现进行编程。这样就降低了客户与实现模式的耦合。
例如:电脑中的cpu、内存条都是在针对接口设计,如果针对实现去设计,内存条用到具体的那个品牌就要使用对应的品牌主板,那么换内存条时还要把主板也换了,这样主板和内存的耦合也太高了。
以上就是对设计模式中的六大原则的理解,从这六种原则中,有一个共同的特点就是为了让耦合降低,提高软件的可维护性,灵活性。
同时也发现了一个道理,这些原则和世间万物都是遵循着某种类似的规律,而且谁先把握了这些规律,就会最早的变成强者。
- 设计模式——面向对象设计的原则(二)
- 开篇—-面向对象的设计原则与设计模式
- 设计模式基础——面向对象设计原则(二)
- 设计模式(二) 面向对象设计原则
- 面向对象的设计原则(二)
- 设计模式之——面向对象的六大原则
- 设计模式——面向对象设计的原则(一)
- 设计模式(1)-面向对象的设计原则
- 设计模式学习笔记——面向对象设计原则
- C++设计模式<二>:面向对象设计原则
- 面向对象的设计模式原则
- 面向对象的设计模式原则
- [设计模式]面向对象的六大原则
- 设计模式----面向对象的六大原则
- 设计模式之面向对象的原则
- 设计模式 ------- 面向对象的设计原则与设计目标
- 面向对象设计原则二
- 设计模式面向对象原则(转载)
- LBP
- django.core.exceptions.ImproperlyConfigured: Neither Pillow nor PIL could be imported: No module nam
- 使用vim的find命令快速打开文件
- “高教社杯”第三届福建省大学生程序设计竞赛
- 在linux中安装中文输入法
- 设计模式——面向对象设计的原则(二)
- 图解linux下top命令的使用
- latch:cache buffers chains等待事件导致的latch争用的原理原因与检查
- 如何选择开源许可证?/GPL,LGPL,Mozila, BSD,MIT,Apache等许可证区别
- Cracking the coding interview--Q1.1
- 从Delphi开始学Cocos2dx-3.0[3]:CCNode 可视组件的头
- 1.3 注释简介【C++ Primer中文版(第5版)】
- end_request: I/O error, dev mtdblock3, sector 0
- 关于ASP.NET中*.ASHX类型的文件