【设计模式】【结构型】【装饰器模式】Decorator Pattern

装饰器模式

装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承。它主要的作用是给原始类添加增强功能。这也是判断是否该用装饰器模式的一个重要的依据。除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。为了满足这个应用场景,在设计的时候,装饰器类需要跟原始类继承相同的抽象类或者接口。

代理模式中,代理类附加的是跟原始类无关的功能,而在装饰器模式中,装饰器类附加的是跟原始类相关的增强功能。代理模式用于隐藏实现细节(封装),装饰器模式用于暴露细节(多态),让设计者自己动态选择。

实现技巧:通过一个中间类继承并实现抽象类的所有方法,然后不同的定制类继承中间类,只需要重载涉及改动的方法即可;

posted @ 2021-01-18 15:44  kudo_shini  阅读(55)  评论(0编辑  收藏  举报