操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

面向对象设计模式与原则[5]

2007-9-20 网友评论 0 条 点击进入论坛

  接口隔离原则

  接口隔离原则讲的是:使用多个专门的接口比使用单一的接口要好。从客户的角度来说:一个类对另外一个类的依赖性应当是建立在最小的接口上的。如果客户端只需 要某一些方法的话,那么就应当向客户端提供这些需要的方法,而不要提供不需要的方法。提供接口意味着向客户端作出承诺,过多的承诺会给系统的维护造成不必 要的负担。

  合成、聚合复用原则

  合成、聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部份,新的对象通过向这些对象的委派达到复用已有功能的目的。这个原则有一个简短的描述:要尽量使用合成、聚合,尽量不要使用继承。

  合成、聚合有如下好处:

  新对象存取成分对象的唯一方法是通过成分对象的接口。

  这种复用是黑箱复用,因为成分对象的内部细节是新对象所看不到的。

  这种复用可以在运行时间内动态进行,新对象可以动态的引用与成分对象类型相同的对象。

  合成、聚合可以应用到任何环境中去,而继承只能应用到一些有限环境中去。

  导致错误的使用合成、聚合与继承的一个常见原因是错误的把“Has-a”关系当作“Is-a”关系。如果两个类是“Has-a”关系那么应使用合成、聚合,如果是“Is-a”关系那么可使用继承。

  迪米特法则

  迪米特法则说的是一个对象应该对其它对象有尽可能少的了解。即只与你直接的朋友通信,不要跟陌生人说话。如果需要和陌生人通话,而你的朋友与陌生人是朋友, 那么可以将你对陌生人的调用由你的朋友转发,使得某人只知道朋友,不知道陌生人。换言之,某人会认为他所调用的是朋友的方法。

  以下条件称为朋友的条件:

  当前对象本身。

  以参量的形式传入到当前对象方法中的对象。

  当前对象的实例变量直接引用的对象。

  当前对象的实例变量如果是一个聚集,那么聚集中的元素也都是朋友。

  当前对象所创建的对象。

  任何一个对象,如果满足上面的条件之一,就是当前对象的朋友,否则就是陌生人。

  迪米特法则的主要用意是控制信息的过载,在将其运用到系统设计中应注意以下几点:

  在类的划分上,应当创建有弱耦合的类。类之间的耦合越弱,就越有利于复用。

  在类的结构设计上,每一个类都应当尽量降低成员的访问权限。一个类不应当public自己的属性,而应当提供取值和赋值的方法让外界间接访问自己的属性。

  在类的设计上,只要有可能,一个类应当设计成不变类。

  在对其它对象的引用上,一个类对其它对象的引用应该降到最低。

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46473 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail