一般问题:由于需求扩张需要对现有的对象添加新的功能。
核心方案:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比继承更加灵活。
设计意图:装饰者模式允许向一个现有的对象添加新的功能,同时又不改变其结构。其原理是将新增功能封装在装饰类中,其次,装饰类必然知道被装饰类,否则新增功能就无从谈起。实际上,装饰类就是被装饰类的一层包装。同代理模式非常相似,装饰类和被装饰类也需要实现同一个接口。
二、应用场景
在Android系统中,基础组件Context的架构设计就采用了装饰者模式。
原文:https://www.cnblogs.com/not2/p/11024221.html