练习源码:https://github.com/liaoooyx/Design-Patterns
简单来说,就是创建一个新的类,通过组合的方式,在不修改原有类的基础上,增加新的功能。与此同时,对于使用者来说,使用方法没有发生改变。
组合:就是在一个类的内部,以成员变量持有另一个类的对象。
从结构上,相当于适配器模式中的对象适配器。
对象适配器和装饰器的本质区别在于,对象适配器用组合的方式适配一个与接口无关的类,而装饰器用组合的方式装饰一个实现接口的类。
练习源码:https://github.com/liaoooyx/Design-Patterns
简单来说,就是创建一个新的类,通过组合的方式,在不修改原有类的基础上,增加新的功能。与此同时,对于使用者来说,使用方法没有发生改变。
组合:就是在一个类的内部,以成员变量持有另一个类的对象。
从结构上,相当于适配器模式中的对象适配器。
对象适配器和装饰器的本质区别在于,对象适配器用组合的方式适配一个与接口无关的类,而装饰器用组合的方式装饰一个实现接口的类。