Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196294
  • 博文数量: 267
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2861
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-28 09:35
文章分类

全部博文(267)

文章存档

2015年(224)

2014年(43)

我的朋友

分类: 信息化

2015-01-19 15:45:55

  什么样的设计才是一个良好的面向对象设计?一个面向对象的设计应该遵守下面几个法则;

  1.单一职责原则

  单一职责原则的具体表述为,一个类应该有且仅有一个职责,所谓一个类的职责是指引起这个类变化的原因,如果一个类具有一个以上的职责,那么就会有多个不同的原因引起这类变化,其实就是耦合了多个互相不相关的职责,就会降低这个类的内聚性.

  2.关闭原则

  这个原则的意思是软件实体应该对扩展开放,而对修改关闭.

  3.里氏代换原则

  里氏代换原则指子类型能够替换掉它们的基类型,若对每个类型S的对象O1都存在一个类型TO2,使得在所有针对T编写的程序P,O1替换O2,程序P行为功能不变,ST的子类型4.依赖反转原则

  依赖反转原则表述如下:

  >高层不应该依赖于低层模块,二者都应该依赖于抽象;

  >抽象不应该依赖于细节,细节应该依赖于抽象;

  >任何变量都不应该持有一个指向具体类的指针或者引用;

  >任何类都不应该从具体类派生;

  >任何方法都不应该覆写它的基类中的已经实现的方法.

  5.组合复用原则

  组合/聚合复用原则优先使用组合/聚合而不是继承.

  6.迪米特原则

  迪米特法则又称最少知识原则,它的特点如下:

  >只和直接朋友对话

  >每个单元对其他单元仅仅具有有限的了解

  >每个单元应该仅仅与它的朋友对话,不要和陌生人对话

  7.接口隔离原则

  接口隔离原则是不要强迫客户依赖于它们不用的方法.

如果强迫客户程序依赖于那些它们不使用的方法,这将导致所有客户程序之间的偶合,换句话说,如果一个客户程序依赖于一个含有它不使用的方法的类,但是其它客户程序却要使用这个方法,那么当其他客户要求这个类改变时,就会影响到这个客户程序,我们希望尽可能地避免这种耦合,因此接口需要进行隔离.

更多详情请关注

阅读(206) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~