.NET框架中使用的设计模式?

Ben*_*tBe 13 .net design-patterns

增加对设计模式的理解的一种方法是发现如何在.NET框架中使用模式.

您是否在.NET框架中找到了任何设计模式的示例?在您的回答中,请简要描述模式,以及如何在框架中使用它的示例.

示例答案:

策略设计模式通过将算法封装到单独的类中来将算法与使用它的类分离.这允许切换算法.

List类的Sort方法是Strategy模式的一个示例.

public void Sort(IComparer<T> comparer)
Run Code Online (Sandbox Code Playgroud)

通过接受IComparer接口,类的用户可以在运行时切换排序算法.

CMS*_*CMS 6

装饰图案被用在Stream类:

  • System.IO.Stream
    • System.IO.BufferedStream
    • System.IO.FileStream
    • System.IO.MemoryStream
    • System.Net.Sockets.NetworkStream
    • System.Security.Cryptography.CryptoStream

子类装饰Stream因为它们从它继承而且它们还包含在构造函数中设置的Stream实例.


And*_*ech 2

Events在 .Net Framework 中遵循Observer Pattern