设计模式六大原则

设计模式六大原则
1、单一职责原则(SingleResponsibility Principle,简称SRP)

  

  定义:就一个类而言,应该仅有一个引起它变化的原因。

 

  解释:如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。

 

  举例:单一职责原则是解耦合的重要手段之一,比如分离数据访问与业务逻辑或者界面设计等。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。

 

2、开放封闭原则(TheOpen-Closed Principle,简称OCP)毕业论文 

 

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

 

   解释:当需求发生变化时,被封装的软件实体,应该尽可能的在不被修改的前提下进行扩展。它是面向对象设计的核心所在。在应对变化的时候,应该把将会变化的种类或者已经频繁出现变化的那些部分进行抽象,通过构造抽象或者接口来隔离那些变化。因此,在面对需求的时候,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。

 

   举例:简单工厂模式中的工厂类,就不符合开放封闭原则。在增加一个运算逻辑的时候,不仅需要增加一个运算子类,还得对工厂类进行修改。或者比如笔记本内存不够,在插槽上在增加一根内存条即可。

 

3、依赖倒转原则(DependenceInversion Principle,简称DIP)

 

   定义:抽象不应该依赖细节,细节应该依赖于抽象。

 

   解释:就是要针对接口编程,不要对实现编程。应用依赖倒转原则,对象的创建很可能要使用对象工厂。这将会导致大量的类,对不熟悉面向对象的人来说,维护这样的系统需要较好的面向对象的设计的知识。

 

   举例:比如设计模式中的抽象工厂模式;生活中电脑的主板、CPU、内存、硬盘都是在针对接口设计的,如果针对实现来设计,内存就需要对应到具体的某个品牌的主板,那将会产生换内存也需要把主板换掉的尴尬。

 

4、里氏代换原则(LiskovSubstitution Principle,简称LSP)

[1] [2] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有