WEB开发网
开发学院软件开发C语言 C# Design Patterns (3) - Decorator 阅读

C# Design Patterns (3) - Decorator

 2009-06-29 07:07:51 来源:WEB开发网   
核心提示: 从更一般的层次上,.NET 的 I/O API 中,C# Design Patterns (3) - Decorator(9),到处都是装饰模式 [6],如下方的体系:System.ObjectSystem.MarshalByRefObjectSystem.IO.StreamSystem.

从更一般的层次上,.NET 的 I/O API 中,到处都是装饰模式 [6],如下方的体系:

System.Object

System.MarshalByRefObject

System.IO.Stream

System.IO.BufferedStream

System.IO.FileStream

System.IO.MemoryStream

System.Net.Sockets.NetworkStream

System.Security.Cryptography.CryptoStream

上方体系的最后五个子类,有的就装饰了 Steram 这个父类 (如:BufferedStream 类),因为它们从它继承,同时又含有 Stream 类的实例,而且这个实例是子类被构造时传递进去的 (如同本帖第二个西餐店的示例中,副菜的构造函数的写法)。如下方 MSDN Library 代码的 BufferedStream 类,其构造函数的第一个参数,即为其父类 System.IO.Stream 的变量 stream。

BufferedStream 构造函数:

public BufferedStream(
 Stream stream
)

http://msdn.microsoft.com/zh-cn/library/system.io.bufferedstream.bufferedstream(VS.80).aspx 

--------------------------------------------------------

本帖的最后,提供一位 Java 大师 - 结城浩,所绘制的 Decorator Pattern 趣味四格漫画 [9],原地址如下:

Giko 猫谈 DP 四格漫画:

http://www.hyuki.com/dp/cat_Decorator.html

http://www.javaworld.com.tw/jute/post/view?bid=44&id=40923&sty=3

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

∧_∧  敲敲敲  ╱

(    )  ∧ ∧ < System.IO.Stream 是个典型的例子..恩....。

上一页  4 5 6 7 8 9 10  下一页

Tags:Design Patterns Decorator

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接