面向对象设计经验原则61点讨论续 之 21-30
yjdn 2006-02-03 04:54:32 /*********************************************
*面向对象设计经验原则61点讨论续 之 21-30
***********************************************/
(21)我们在创建应用程序的分析模型时常常引入代理类。在设计阶段,我们常会发现很多代理没有用的,应当去除。p43
//
//
(22)尽量减少类的协作者的数量。p52
一个类用到的其他类的数目应当尽量少。
//
//什么叫类的协作者?
//
(23)尽量减少类和协作者之间传递的消息的数量。p55
//
//同上
//
(24)尽量减少类和协作者之间的协作量,也即:减少类和协作者之间传递的不同消息的数量。p55
//
//同上
//
(25)尽量减少类的扇出,也即:减少类定义的消息数和发送的消息数的乘积。p55
//
//
//
(26)如果类包含另一个类的对象,那么包含类应当给被包含的对象发送消息。也即:包含关系总是意味着使用关系。p55
//
//是否有人可以举例说明一下,这个给对象发送消息.
//
(27)类中定义的大多数方法都应当在大多数时间里使用大多数数据成员。p57
//
//
//
(28)类包含的对象数目不应当超过开发者短期记忆的容量。这个数目常常是6。p57
当类包含多于6个数据成员时,可以把逻辑相关的数据成员划分为一组,然后用一个新的包含类去包含这一组成员。
//
//不能包含对象过多
//
(29)让系统功能在窄而深的继承体系中垂直分布。p58
(30)在实现语义约束时,最好根据类定义来实现。这常常会导致类泛滥成灾,在这种情况下,约束应当在类的行为中实现,通常是在构造函数中实现,但不是必须如此。p60
//
//什么叫主义约束?
//