简介
命令模式将请求以命令的方式包裹在对象中,并传给调用对象,是一种数据驱动的设计模式,属于行为型模式。
目的:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化;从而可以对请求进行排队或者记录日志,以及支持可撤销的操作。
在软件设计时,经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么,我们只需要在程序运行时指定具体的接收者即可。此时就可以使用命令模式进行设计,能够让请求发送者和请求接收者解耦,让对象之间的调用关系更加灵活。
命令模式可以让发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。这就是命令模式的模式动机。