C#Stream类所使用的装饰模式
这是装饰模式的结构图:
这是Stream类及相关类示意图:
Stream是一个抽象类,它在System.IO里面,它其实就是Component。FileStream、NetworkStream、MemoryStream都是实体类ConcreteComponent。右边的BufferedStream、CryptoStream是装饰对象,它们都是继承了Stream抽象类的。BufferedStream继承自Stream,又含有Stream作为字段。有一点不同的是,BufferedStream这个具体的装饰类没有抽象类,直接继承自抽象主体Stream接口,它让Decorator抽象类退化了,但这点不同并不影响Decorator模式的本质。
————出自Decorator 装饰模式
![]() |
作者:心亦
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
|