装饰器 解决什么问题?
我们采用 字处理的软件 比如word,sublime 外面加一些装饰 加1个外框 这些外面的样式都是装饰
怎么解决这些装饰?最简单的话 我们可能会想 直接加1个继承 但是这样会产生类数量的爆炸
而且不灵活:装饰和被装饰者之间耦合度太高
解决方法 装饰器
装饰器就是用聚合代替继承
聚合的定义:A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成,同时B类即便不在A类中也可以单独存在,就是聚合
paint()在TankDecorator类中,所以是聚合,也是装饰器
桥梁模式强调 两个分支独立发展 弱联系 而decorator强调 我对你的装饰 这个是语义上的