装饰器模式在我看来就是代理模式的套娃。可以先看一下我之前关于代理模式的文章
===》》https://www.jianshu.com/p/8ee86337299a](https://www.jianshu.com/p/8ee86337299a)
现在还是有个程序员
class 程序员 implements 软件定制{
public void 编写程序(){
write();
}
}
还有个产品经理
class 产品经理 implements 软件定制{
private 软件定制 小王;
产品经理(软件定制 A){
小王=A;
}
public void 编写程序(){
吹牛逼();
软件定制.编写程序();
领工资();
}
}
现在新来了个运维,他会拉网线
class 运维 implements 软件定制{
private 软件定制 小王;
产品经理(软件定制 A){
小王=A;
}
public void 编写程序(){
吹牛逼();
小王.编写程序();
领工资();
}
}
现在我们这样
new 产品经理(new 运维(new 程序员())).编写程序();
是不是就实现了吹牛逼、拉网线、写代码的功能组合?再来个测试、业务呢?说白了就是代中代,互相套娃,随意组合。
网友评论