首页 > 代码库 > 管道-过滤器模式
管道-过滤器模式
如果项目中的功能要求需要经过一系列的处理。可以采用管道-过滤器模式组织这些处理。每一个处理就是一个过滤器。组织过滤器的管线对象就是管道。
管道模式适用于一系列确定/已知的步骤处理。
原始的管道模型可以像下面这样:
/// <summary> /// 处理消息 /// </summary> public abstract class Context { } /// <summary> /// 过滤器 /// </summary> /// <typeparam name="T"></typeparam> public interface IFilter<T> where T : Context { T Handle(T message); } /// <summary> /// 管道 /// </summary> /// <typeparam name="T"></typeparam> public class PipeBase<T> where T : Context { protected IList<IFilter<T>> filter = new List<IFilter<T>>(); public T Message { set; get; } public void ProcessHandle() { foreach (var s in filter) { s.Handle(Message); } } public void AddFilter( IFilter<T> f ) { } public void RemoveFilter(IFilter<T> f) { } }
asp.net的请求事件 就是一个管道-过滤器模式,通过一系列的管道事件处理HttpContext
管道-过滤器模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。