什么是装饰模式?
在面向对象的编程中,一种动态的往一个类中添加新的功能的设计模式。相比派生出子类而言,更具有灵活性,这种设计模式能够给某个对象而不是整个类添加功能。
装饰模式实现原理?
装饰模式可以在运行时扩充某个类的行为。原理:创建一个装饰类来包裹原来的类,包裹的方式一般是将原来类的对象作为装饰类的构造函数参数。装饰类实现新的功能,而在不需要用到新功能的地方可以直接调用原来类的方法。装饰类与被装饰类需要有相同的接口。
装饰模式其实是继承方式的另一种选择,继承是在编译的时候扩展功能,而装饰模式是在运行的时候扩展功能。
装饰模式在Java的I/O streams应用的十分广泛。
参考:https://zh.wikipedia.org/wiki/%E8%A3%85%E9%A5%B0%E6%A8%A1%E5%BC%8F