## page was renamed from zhArticleTemplate ##language:zh #pragma section-numbers on -- flyaflya [<>] <> == Command(命令) == === 意图 === 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。在python中叫“Command Dispatch Pattern”,也不需要将请求封装成对象,直接用字符串作命令请求。 === 代码 === {{{ #!python class Dispatcher: def do_get(self): print("do_get") def do_put(self): print("d0_put") def error(self): print("error") def dispatch(self, command): mname = 'do_' + command if hasattr(self, mname): method = getattr(self, mname) method() else: self.error() }}} === 例子 === {{{ #!python Dispatcher a a.dispatch("get") a.dispatch("put") }}} === 特殊说明 ===