形似设计模式之间的的区别
相似设计模式之间的的区别
1.适配器模式
2.装饰模式
3.合成模式
4.代理模式
装饰模式,合成模式,代理模式都要实现相同的父组件
装饰模式会增强父的接口,所以装饰类会有若干的子类来增强接口的功能,装饰模式有源类,和装饰类,装饰类持有父引用
合成模式不改变父的接口,合成模式将单纯源类和由单纯源类组成的复合类可以等同看待,复合类持有父引用(如果复合类持有单纯类的引用,结果就是符合类的树结构中只有一级)。就像Windows下的文件夹和文件一样
适配器模式的类图是一个子类有两个不同的父类,一个是客户期望的父类,一个是需要适配的类
代理模式的类图是一个父类有两个子类,一个是代理类,一个是被代理类,其中代理类持有被代理类的引用