Introduction - If you have any usage issues, please Google them yourself
Command pattern.
The request from the client is passed into an object so that you can parameterize the client with different requests. Used for "behavior requester" and "behavior realization" decoupling, can achieve between the two loose coupling, in order to adapt to change. Separation, change, and constant factor.