mem_fox
2003-09-11 22:01
如果吧肉食,素食和杂食和鸭,猪和老虎这个系列分开是不是要好一点,用Bridge来组合,就象大家常说的可乐和冰的那个例子,我手头没工具只好胡说的。

banq
2003-09-12 08:29
你好像没有提出一个明确设计目标,哪些变化最少,哪些可能会动态拓展?在没有设计目标的情况下,所有的设计方案都是可以采用的。

wwlhp@jdon.com
2003-09-12 13:55
我觉得用桥梁模式比较好,抽象部分是动物,实现部分是动物的食性。

动物可分为鸡鸭鹅猪牛羊狼,食性分为肉食性、草食性和杂食性。

这样,让动物拥有食性会比较好,也减少了类层次。

(我的together给删了,没画类图,抱歉!)

yxl
2003-10-19 22:30
肉食/草食/杂食的分别对你有多重要?

1 如果真的不可避免地会导致接口差异,使用你的第二种类层次是很自然的;

2 否则的话,我宁愿只用一个成员变量(对象)来表示该属性,让类层次精简一些;必要时为该成员对象另起一个独立的类层次;无所谓这是什么模式,这是“聚合”优先于“继承”的精神的一个典型样例。

class 食性 {}

class 动物

{

private 食性 shixing;

}

猜你喜欢
2Go 上一页 1 2