乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)

[索引页]
[源码下载]


乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)


作者:webabcd


介绍
为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。


示例
有一个Message实体类,某个类对它的操作有Insert()方法。现在要求根据插入信息的字符长度,让不同的对象去处理,这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
 
MessageModel
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Collections.Generic; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Text; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)namespace Pattern.ChainOfResponsibility 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// Message实体类 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        public class MessageModel 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// 构造函数 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <param name="msg">Message内容</param> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <param name="pt">Message发布时间</param> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public MessageModel(string msg, DateTime pt) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        this._message = msg; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        this._publishTime = pt; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                private string _message; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// Message内容 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public string Message 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        get { return _message; } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        set { _message = value; } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                private DateTime _publishTime; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// Message发布时间 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public DateTime PublishTime 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        get { return _publishTime; } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        set { _publishTime = value; } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)}
 
SqlMessage
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Collections.Generic; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Text; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)namespace Pattern.ChainOfResponsibility 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// Sql方式操作Message 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        public class SqlMessage 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// 插入Message 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <param name="mm">Message实体对象</param> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <returns></returns> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public bool Insert(MessageModel mm) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        // 代码略 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        return true
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)}
 
AbstractExecutor
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Collections.Generic; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Text; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)namespace Pattern.ChainOfResponsibility 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// 抽象处理者(Handler)角色 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        public abstract class AbstractExecutor 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// 抽象处理者(Handler)角色 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                protected AbstractExecutor _executor; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// 设置责任链的上一级对象 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <param name="executor"></param> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public void SetSuccessor(AbstractExecutor executor) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        this._executor = executor; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// 插入Message 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <param name="mm">Message实体对象</param> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <returns>执行者;内容;时间</returns> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public abstract string Insert(MessageModel mm); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)}
 
Employee
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Collections.Generic; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Text; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)namespace Pattern.ChainOfResponsibility 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// 具体处理者(ConcreteHandler)角色 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        public class Employee : AbstractExecutor 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// 插入Message 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <param name="mm">Message实体对象</param> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <returns>执行者;内容;时间</returns> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public override string Insert(MessageModel mm) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        string rtn = ""; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        // 插入的信息字符数小于5 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        if (mm.Message.Length < 5) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                SqlMessage m = new SqlMessage(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                if (m.Insert(mm)) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                        rtn = "执行者:雇员" + " 内容:" + mm.Message + " 时间:" + mm.PublishTime.ToString(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        // 否则让上级去执行 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        else if (base._executor != null
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                rtn = _executor.Insert(mm); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        return rtn; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)}
 
Leader
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Collections.Generic; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Text; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)namespace Pattern.ChainOfResponsibility 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// 抽象处理者(Handler)角色 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        public class Leader : AbstractExecutor 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// 插入Message 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <param name="mm">Message实体对象</param> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <returns>执行者;内容;时间</returns> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public override string Insert(MessageModel mm) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        string rtn = ""; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        // 插入的信息字符数小于10 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        if (mm.Message.Length < 10) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                SqlMessage m = new SqlMessage(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                if (m.Insert(mm)) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                        rtn = "执行者:主管" + " 内容:" + mm.Message + " 时间:" + mm.PublishTime.ToString(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        // 否则让上级去执行 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        else if (base._executor != null
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                rtn = _executor.Insert(mm); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        return rtn; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)}
 
Manager
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Collections.Generic; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Text; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)namespace Pattern.ChainOfResponsibility 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// 抽象处理者(Handler)角色 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        public class Manager : AbstractExecutor 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// 插入Message 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// </summary> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <param name="mm">Message实体对象</param> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                /// <returns>执行者;内容;时间</returns> 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                public override string Insert(MessageModel mm) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        string rtn = ""; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        // 插入的信息字符数小于15 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        if (mm.Message.Length < 15) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                SqlMessage m = new SqlMessage(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                if (m.Insert(mm)) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                        rtn = "执行者:经理" + " 内容:" + mm.Message + " 时间:" + mm.PublishTime.ToString(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        else 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                                rtn = "你所插入的Message不符合要求"
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                        return rtn; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)}
 
client
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Data; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Configuration; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Collections; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Web; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Web.Security; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Web.UI; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Web.UI.WebControls; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Web.UI.WebControls.WebParts; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using System.Web.UI.HtmlControls; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)using Pattern.ChainOfResponsibility; 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)public partial class ChainOfResponsibility : System.Web.UI.Page 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        protected void Page_Load(object sender, EventArgs e) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        { 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                AbstractExecutor employee = new Employee(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                AbstractExecutor leader = new Leader(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                AbstractExecutor manager = new Manager(); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                employee.SetSuccessor(leader); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                leader.SetSuccessor(manager); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern) 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                Response.Write(employee.Insert(new MessageModel("abcd", DateTime.Now))); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                Response.Write("<br />"); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                Response.Write(employee.Insert(new MessageModel("abcdefgh", DateTime.Now))); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                Response.Write("<br />"); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                Response.Write(employee.Insert(new MessageModel("abcdefghigkl", DateTime.Now))); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                Response.Write("<br />"); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)                Response.Write(employee.Insert(new MessageModel("abcdefghigklmnop", DateTime.Now))); 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)        } 
乐在其中设计模式(C#) - 责任链模式(Chain of Responsibility Pattern)}
 
 
运行结果
执行者:雇员 内容:abcd 时间:2007-4-22 20:04:41
执行者:主管 内容:abcdefgh 时间:2007-4-22 20:04:41
执行者:经理 内容:abcdefghigkl 时间:2007-4-22 20:04:41
你所插入的Message不符合要求


参考
http://www.dofactory.com/Patterns/PatternChain.aspx


OK
[源码下载]
 


     本文转自webabcd 51CTO博客,原文链接:http://blog.51cto.com/webabcd/344543,如需转载请自行联系原作者



上一篇:开源项目推荐:我个人中意的Python/C++数学库(★精品收藏★)


下一篇:PHP设计模式——解释器模式