transports an Object from A to B • In Controller, Create Command ( Data Transfer Object ) • Pass the DTO into the Bus • The Bus is going to resolve the handler for that command using the IOC container • The CommandHandler will then delegate the DTO to a Model • The Model will then process the data and raise various Events • CommandHandler will then dispatch the Events and return Model to Controller The question should be, what does a Command Bus do?
postPlace() { // Some Validation // Fetch cart items // Create an Order // Email Buyer and Seller // Redirect User for Payment } public function postItn() { // Some validation // Check if transaction duplicate, if not continue // Update the order status and create transaction // Email Buyer and Seller // Update Stock Levels } }