代理、桥接、装饰器、适配器4种设计模式的区别

这四种设计模式都是十分常用的结构型设计模式,都可以成为Wrapper模式,也就是都是通过Wrapper类二次封装原始类。

但是它们解决问题的场景不同:

代理模式:在不改变原始类接口的条件下,为原始类定义一个代理类,主要目的是控制访问,而非加强功能;

桥接模式:将接口与实现分离,从而让它们可以较为容易、也相对独立的加以改变;

装饰者模式:在不改变原始类接口的情况下,对原始类功能进行增强,并且支持多个装饰器的嵌套使用;

适配器:事后的补救策略,将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。

你可能感兴趣的:(Java,设计模式)