装饰器模式就是类似于适配器模式,但是适配器模式持有的对象不需要继承或实现持有待装饰的对象。
动态代理
动态代理模式这个跟装饰器看起来很像,不同点在于动态代理主要强调控制被代理的一些行为访问,如aop,但是装饰器更多的是强调同一类行为。
-
适配器模式
adaptee是持有的目标的三方类库/老代码等不太好动的,所以用个这玩意去适配接口,我们对外提供的接口是我们自己定义的。
桥接模式
桥接模式是各自的接口进行结合的过程。单独去做抽象
从意图上看
适配器是为了复用已有接口的功能,而通过适配将已有接口功能引入到所需接口的一种模式,目的是能够结合。
桥接模式是为了实现两个接口结合的多样化而设计的一种模式,目的是结合的更好。
从实现上看
适配器是先定义了新接口,然后才与旧接口进行适配,即先接口后关系。
桥接模式是先定义了一个桥(即两个接口之间的关系),然后通过每个接口的多个实现的不同组合达到其灵活性的目的,即先关系后组合。
总结
总体来看类似于递进关系(并不完全,为了便于理解,只是比喻),适配器将两个接口结合在一起,然后桥接使他们的结合更加多样化。