读桥梁模式,有些困惑的地方?

03-11-06 hbc20
桥梁模式主要的手段用动态的聚合关系,代替为静态的继承关系,从而达到系统的重构,使系统具有更高的复用。

看了博士的书,还有斑竹的论述,有些不太好清楚的地方:

1:抽象化接口角色和实现化接口角色到底怎么区分呢?谁应该定义为抽象化接口角色?谁应该定义为实现化接口角色呢?我感觉这两者随

便谁做抽象类接口,谁做实现类接口都无所谓。

比方说:

博士说的猪八戒投胎的故事,谁做抽象类接口,谁做实现类接口,好像是可以转换的。

还有斑竹的大中杯子加奶或者不加奶的事,把加或者不加奶定义为抽象类接口,把大杯或者中杯定义为实现类接口,好像也行的通

博士说的的例子:各种飞机生产厂家和各种类型的飞机用桥梁模式,飞机是抽象类接口,飞机生产厂家是实现类接口,然后从抽象类接口派生飞机1抽象类接口,飞机2抽象类接口...,从实现类接口派生飞机生产厂家1实现类接口,飞机生产厂家2实现类接口...。

那么,我这里把抽象类和实现类倒过来,不也可以同样实现功能么?也就是生产厂家是抽象类,飞机是实现类。

那么这里谁该做抽象类,谁做实现类,是不是都无所谓了?

    

banq
2003-11-07 17:58

Bridge模式是将抽象和行为分开,加或者不加奶属于行为,大杯或者中杯属于行为吗?所以这两者是不能互换的。

另外,博士的比喻有很多是错误的,越多越迷糊,自己给自己上圈子,所以最好不要看象《java与模式》这种书籍。呵呵

猜你喜欢