天才小啊呆  

首先,我们将我们需要装饰的类,或者需要桥接的类命名为A类。而负责装饰或者桥接的类称为B类。

桥接模式:在此模式中,我们的主要类,A类,内容会有修改,A类中需要添加一个B类的实例作为成员。而我们需要达成的目的,是在继承与B的实现类中完成。

即:A1:A B1:B

A a=new A1();

a.b=new B1();(a.b是A中B类的成员)

 

装饰模式:在此模式中,我们的主要类A类,不需要做修改。而B类则继承于A类,同时又有一个A类的成员变量,和一个需要传入A类实例的构造函数。所以,如果我们需要对A类的实现进行包装的时候是在实例化A后,将A对象,传入B的实现中,进行B的方法来进行包装。

即:A1:A B1:B

A a=new A1();

B b=new B1(a);

b.XXX(B类用于包装A对象所使用的方法)s

posted on 2010-08-13 11:49  天才小啊呆  阅读(970)  评论(0编辑  收藏  举报