C#Stream类所使用的装饰模式

这是装饰模式的结构图:

这是Stream类及相关类示意图:


 

Stream是一个抽象类,它在System.IO里面,它其实就是Component。FileStream、NetworkStream、MemoryStream都是实体类ConcreteComponent。右边的BufferedStream、CryptoStream是装饰对象,它们都是继承了Stream抽象类的。BufferedStream继承自Stream,又含有Stream作为字段。有一点不同的是,BufferedStream这个具体的装饰类没有抽象类,直接继承自抽象主体Stream接口,它让Decorator抽象类退化了,但这点不同并不影响Decorator模式的本质。

————出自Decorator 装饰模式

 

posted @ 2013-04-11 16:00  心亦  阅读(244)  评论(0编辑  收藏  举报