命令模式 –
命令模式(commandPattern)是一种数据驱动的设计模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令合适的对象,并把该命令传给相应的对象,该对象执行命令。
1. 介绍
意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数。
主要解决:在软件系统中,行为请求者与行为实现着通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就太不合适。
何时使用:再某些场合,比如要对行为“记录、撤销、重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。这种情况下,如何降行为请求者与行为实现着解耦?将一组行为抽象为对象,可以实现两者之间的松耦合。
如何解决:通过调用者调用接受者执行命令,顺序:调用者->命令->接受者。
关键代码:定义三个角色,1、received真正命令执行对象。2、command。3、invoker使用命令对象的入口。
应用实例:struts 1 中的 action 核心控制器 ActionServlet 只有
命令模式 –最先出现在Python成神之路。
共有 0 条评论