命令分发模式 (command dispatcher pattern)不属于23种经典的设计模式。它是一种不太为人所知的设计模式,它主要用于构建可扩展、可插拔的系统架构,将请求与执行请求的操作对象解耦。它类似于命令模式(Command Pattern),但更加灵活和动态。虽然Command Dispatch Pattern不属于那23种经典模式,但它确实是一种很有价值的模式,可以应用于需要在运行时动态添加、修改或删除操作的系统中,使系统更加灵活和可扩展。这种模式通过允许方便的添加、替换或移除任何命令处理器, 非常的灵活,将命令调用和命令处理解耦。而且每个命令可以由单独的命令处理器处理,代码组织和维护也很方便。实际上,对于 Gopher 来讲,必然已经接触到这个模式了,只不过少有人指出或者梳理这种模式,但是在标准库和一些知名的项目中,其实已经自然的应用了,而且看起来整个架构也非常的清爽。让我们看一个标准库实现 web 服务的例子:12345678910111213141516171819202122232425262728packagemainimport("fmt""net/http")// 定义 HTTP 处理程序函数funchomeHandler(w http.ResponseWriter, r *http.Request) {fmt.Fprint(w,"Welcome to
...
继续阅读
(59)