设计模式-装饰器模式

 

 装饰器模式:

ConcreteComonent对象和Decorator装饰对象可以合并成一个 主要区别就是定义上

  ConcreteComonent可以理解成原对象  而Decorator可以理解为为原对象起装饰作用的装饰器

 

其核心主要就是在装饰器抽象父类里面保存一个Componment抽象(Operation方法就是原对象和装饰器的主要使用方法)然后装饰器里面的Operation执行本装饰器的方法后调用注入的Comonent的Operation      注入的Comonent的Operation  里面执行自己的代码后 又执行注入的Operation     

总结就是一句话能表示  俄罗斯套娃

 

 

一般的教程都会有一个专门的方法SetComonent来注入  比较难以理解   如果改成构造方法注入  调用逻辑就会非常清晰了

ConcreteDecoratorB d2 = new ConcreteDecoratorB(new ConcreteDecoratorA(new ConcreteComponent()));
d2.Operation();

 

posted on 2021-01-12 18:01  龍瀧尨呀  阅读(33)  评论(0编辑  收藏  举报

导航