当前位置:  开发笔记 > 编程语言 > 正文

"处理程序"模式?

如何解决《"处理程序"模式?》经验,为你挑选了1个好方法。

我遇到过一种被称为"处理程序模式"的设计模式,但我无法在任何地方找到对这种模式的任何实际引用.它基本上只是一个单方法接口,允许您轻松扩展后端功能,而无需重新编译客户端.对于必须处理许多不同类型请求的Web服务可能很有用.这是一个例子:

public interface IHandler
{
    IDictionary Handle(IDictionary args);
}

args通常包括一个像"Action"这样的键,其值可以告诉implmentation要做什么.可以传入额外的args以获取更多信息.然后,impl传回客户端"应该"理解的任意args列表.

这是一种反模式,还是伪装的另一种模式?这种设计是推荐的吗?

编辑:更多信息:我看到这个实现的方式,"根"处理程序将作为其他具体处理程序的调度程序(也许?).根处理程序有一个"HandlerResolver",它决定哪个具体的处理程序应该根据它的内容获取消息.也许它实际上就像一个"调度员"模式,虽然我不知道这是否真的是一种模式.我想它也可能在根目录中有一个责任链模式,允许你将一堆具体的处理程序链接在一起,然后让他们决定哪一个会处理它.



1> Javier..:

这是OOP方式对没有它们的语言进行闭包.它没有'模式'名称,因为在功能语言上它是显而易见的工作方式.在OOP语言,OTOH,你必须做一些工作,所以它似乎是一个可以说是成语.'汉德勒'听起来不错.

(它不是单身,BTW)

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有