JAVA装饰者模式设计流程:
如果对于A要增强A的方法,即可采用装饰者模式来实现。
定义一个B。其中B与A要实现同一接口,而在B中要提供一个带参数的构造方法
Class A implements C;
Class B implements C{
private a;
public B(c){
this.c=c;
}
//然后写要增强的方法
........
}
如果是直接采用继承的方式来增强某个类的方法的话需要不断继承,而且每多一个方法就要写一个子类,如果有n个方法,需要写2^n - 1 个子类才能实现全部的方法混搭,但是利用装饰者模式则只需要写n个类即可,因为每次构造可以传一个已经装饰过的对象来构造。