修饰器模式:能够动态透明的给一个类增加行为。修饰器模式中存在两大阵营,一边是被修饰的对象,一边是修饰器本身,正如房子和粉刷匠的关系。粉刷匠(修饰器)给房子增加了不同外观,看上去像是变了一个样一样。在修饰器模式中,修饰器和修饰对象都继承或实现同一个接口,但区别在于,修饰器持有一个对修饰对象的引用。
java中修饰器最典型的例子莫过于IO流。以输入流InputStream为例,修饰对象如FileInputStream、ByteArrayInputStream,StringBufferInputStream,修饰器为FilterInputStream的子类。FilterInputStream持有一个InputStream,以便能够在其基础上改变其行为。
没有评论:
发表评论