command模式思想:
command模式的主要思想是将用户的请求封装成对象,invoker对象封装请求对象,用户通过invoker来对产生不同的命令请求,发送给接受者。通过invoker封装不同的命令对象来映射用户的不同请求命令。
一个典型的例子是,用户选择(发送请求)Item的子菜单,Item(这里把Item看成接收者)产生不同的动作。例如当用户选择undo、redo和display等不同子菜单时,Item产生不同的动作。
在这里,Item是命令接收者,invoker封装undo,redo和display对象(可以是对象池的形式),当用户产生不同命令时,命令执行execuse方法,在execuse方法里委托其封装(组合)的接收者(Item)做出相应动作。