participants 1
play

Participants 1 Model The part that does the actual computation, - PowerPoint PPT Presentation

Model View Controller Pattern Behavioural Intent Partition user-interactive applications into three parts > Model > View > Controller Motivation Use divide and conquer to simplify


  1. Model View Controller Pattern – Behavioural � • Intent � » Partition user-interactive applications into three parts � > Model � > View � > Controller 
 � • Motivation � » Use divide and conquer to simplify interactions among the parts of a program � MVC-1 �

  2. Participants – 1 � • Model � » The part that does the actual computation, data manipulation and processing � • View � » The purely graphical part of the application, taking care of presenting information visually and interacting with users. Notions such as buttons, other controls and events belong here � • Controller � » Connects the model with the view by specifying what operations from the model must be executed in response to what user events occur � MVC-2 �

  3. Participants – 2 � Mediates between the model and the view � Controller Model View What your application is � How a user sees and accesses � the model � Diagrams based on Stanford CS193p Fall 2011 slides � MVC-3 �

  4. Communications � It’s all about managing the communications � Controller can always talk to the model and view � Controller outlet � Model View Model and view never talk directly to each other � MVC-4 �

  5. Communications – Model � Controllers (and other models) tune into stations in which they are interested � Controller Model View Model has a radio station to broadcast 
 change notifications � � Models can only communicate directly with other models � MVC-5 �

  6. Communications – View – 1 of 3 � Target method � Controller Model View Action – button, gesture � MVC-6 �

  7. Communications – View – 2 of 3 � Controller sets itself as view’s delegate � Controller should, will, did � View Model View asks controller to do � work, indirectly as its delegate, 
 and notifies the controller when 
 the view changes � MVC-7 �

  8. Communications – View – 3 of 3 � Controller sets itself as view’s data source � Controller data, at, count � View Model View asks controller for the data it needs � MVC-8 �

  9. Multiple MVC patterns � Controller Controller Controller Model Model View Controller Controller Controller View Model View Model View MVC-9 �

  10. Hello World Example � Spaceling sayHelloButton � No model � MVC-10 �

  11. Calculator Example � Calculator_view_controller Function_graph_vc Calculator delegate for “back” button � data source � If the calculator has the data source protocol expected by the graphing function, then it could be the data source � MVC-11 �

  12. Participants � • Model � � Has all the data and methods for maintaining the data � • View � � Displays relevant data, accepts user actions and notifies controller � • Controller � » Reacts to changes in the model to instruct how the view is to change � » Reacts to view “actions” to instruct the view how to change and to instruct how the model is to change � MVC-12 �

  13. Applicability � • Use MVC in all interactive applications � MVC-13 �

  14. Consequences � • The accepted way to deal with interactive applications � MVC-14 �

  15. Related Patterns � • MVC is a special case of the Mediator pattern � » The controller is the mediator between the model and the view � • MVC has similarities to the Observer pattern. � MVC-15 �

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend