装饰器模式

滴水穿石

 

装饰器模式

目的:增加新的功能

优点:装饰类和被装饰类可以独立发展,解耦;继承的一个替代模式,动态的增加功能

缺点:多层装饰比较复杂

 

网上找了两个图,画法都不一样,取其精华就可以了,大体意思

 

被装饰对象

-------------------------------------

interface A

classA1 implements A

classA2 implements A

 

装饰器

—————————————

abstrate B implements A

# A a

+ construct B(A a);

 

Class B1 extends B

Class B2 extends B

————————————

装饰器持有了被装饰器的原始对象类型,即被装饰的父类,因此可以装饰被装饰的任意子类

装饰器子类继承了装饰器,即拥有被装饰对象

装饰器子类可以重写被装饰对象的方法

在重写的方法先后增加新的功能。

 

————————————I/O——————的实现就是装饰器模式————————之后源码解析

 

 


无论如何,心平气和

posted @ 2017-08-24 16:39  江湖一笑  阅读(138)  评论(0编辑  收藏  举报