设计模式——面向对象设计的原则(二)

来源:互联网 发布:淘宝旺旺客服兼职 编辑:程序博客网 时间:2024/05/17 03:27

   在设计模式——面向对象设计的原则(一)中总结了里氏代换原则原则、合成\聚合原则、迪米特原则这三个原则,接下来总结单一职责原则、开放封闭原则、依赖转换原则。


单一职责原则:

   解释:就一个类而言只专注做一件事,应该仅有一个引起它变化的原因。

   所谓职责就是说对象能够承担的责任,对象的职责是要为其他的对象提供调用,从而形成对象之间的协作,由此产生耦合关系,所以职责越少耦合就越低,软件才能容易维护,易复用。


   例如(如图):电脑的主机内部cpu、内存条、硬盘等等各个部件就很好的做到了单一职责原则,当内存条坏了的时候,换个新的内存条就行了,不需要去更换硬盘。


开放封闭原则:

   解释:是说软件实体(类、模式、函数等等)应该可以扩展,但是不可修改。

   对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况;对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。

   例如:如果梦想是已经设计完成的一个类,那么梦想可以去沿着原来方向去扩展让梦想更具体、更伟大,但是不能去改变它或者放弃它。


依赖倒转原则:

   解释:1.高层模块不应该依赖底层模块,两个都应该依赖抽象。2.抽象不应该依赖细节,细节应该依赖抽象。

   简单的说就是要对抽象或接口进行编程,而不是对实现进行编程。这样就降低了客户与实现模式的耦合。

   例如:电脑中的cpu、内存条都是在针对接口设计,如果针对实现去设计,内存条用到具体的那个品牌就要使用对应的品牌主板,那么换内存条时还要把主板也换了,这样主板和内存的耦合也太高了。

   以上就是对设计模式中的六大原则的理解,从这六种原则中,有一个共同的特点就是为了让耦合降低,提高软件的可维护性,灵活性。

   同时也发现了一个道理,这些原则和世间万物都是遵循着某种类似的规律,而且谁先把握了这些规律,就会最早的变成强者。

 

2 0
原创粉丝点击