The controller handles incoming requests and puts any data the client needs into a component called a model. When the controller's work is done, the model is passed to a view component for rendering.
Take advantage of the command design pattern to decouple the requester of an action from the object that executes the action Design patterns are proven solutions used to solve common design problems ...