技术开发 频道

.NET中的委托:细节详解

       6.事件委托实现观察者模式

  前面我们介绍按钮事件响应是从发送者和接收者的角度出发的,现在我们以设计模式中的观察者模式为例。

                                                   图8GoF观察者架构 

/// 使用事件对委托进行封装
    
/// </summary>
    
public class Say
    {
        
/// <summary>
        
/// 封装委托字段
        
/// </summary>
        
public static event SpeakDelegate speakDelegate;
        
        
/// <summary>
        
/// 调用委托具体实现方法
        
/// </summary>
        
/// <param name="name"></param>
        
public static void SayManager(string name)
        {
            speakDelegate(name);
        }
    }


        
/// <summary>
        
/// 客户端调用委托
        
/// </summary>
        
/// <param name="args"></param>
        static void Main(
string[] args)
        {
            Say.speakDelegate
+= Program.ChineseSpeaker;
            Say.speakDelegate
+= Program.EnglishSpeaker;
            Say.SayManager(
"Jackson");
            Console.ReadKey();
0
相关文章