李振良Python DevOps运维开发实战集训营【高级班】
动态的为一个对象增加功能,但是不改变其结构 => 不需要改之前类的任何代码
向一个现有的对象添加新的功能,同时又不改变其结构
实例:Collections.synchronizedList
org.apache.ibatis.executor.CachingExecutor.java => Cache + delegate(委托 | 代表)
// DataService interface// DateServiceImpl class// Main.java// LogDecorator class// CacheDecorator class