装饰器模式的目的
解决扩展子类膨胀的问题,比如摊煎饼,可以摊煎饼前,煎个鸡蛋,摊煎饼后,撒点酱
在android中,Context,ContextImpl也就是个装饰模式,我们肯定会在startActivity()前后做点业务操作。
//一个煎饼接口
public interface Pancake {
void pancake();
}
//牛肉煎饼
public class BeefPancake implements Pancake{
@Override
public void pancake() {
System.out.println("牛肉煎饼");
}
}
//工作人员
public class Worker {
Pancake pancake;
public Worker(){
pancake = new BeefPancake();
}
public void makePancake(){
System.out.println("煎鸡蛋");
pancake.pancake();
System.out.println("撒酱");
}
}
//使用
Worker worker = new Worker();
worker.makePancake();