主要解决 类或对象的组合或组装 的问题

常用的4 种结构型设计模式的区别:

代理、桥接、装饰器、适配器,这 4 种模式是比较常用的结构型设计模式。它们的代码结构非常相似。笼统来说,它们都可以称为 Wrapper 模式,也就是通过 Wrapper 类二次封装原始类。

尽管代码结构相似,但这 4 种设计模式的用意完全不同,也就是说要解决的问题、应用场景不同,这也是它们的主要区别。

常用的结构型设计模式 定义 & 作用
代理模式 在不改变原始类情况下,对原始类进行增强,不支持多个代理类嵌套使用,主要是对非业务逻辑增强。
桥接模式 将接口部分和实现部分分离,从而让它们可以较为容易,也相对独立地加以改变。
装饰器模式 在不改变原始类情况下,对原始类进行增强,支持多个装饰器的嵌套使用,主要是对业务逻辑增强。
适配器模式 是一种事后的补救策略。适配器提供跟原始类不同的接口,而代理模式、装饰器模式提供的都是跟原始类相同的接口。