Chapter 5: MVC Architecture Chapter 5.

Slides:



Advertisements
Similar presentations
1 DTI/EPSRC 7 th June 2005 Reacting to HCI Devices: Initial Work Using Resource Ontologies with RAVE Dr. Ian Grimstead Richard Potter BSc(Hons)
Advertisements

Lab 9: Code Organization User Interface Lab: GUI Lab October 23 rd, 2013.
OOP Design Patterns Chapters Design Patterns The main idea behind design patterns is to extract the high level interactions between objects and.
MVC Nick Lopez Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
Understand the football simulation source code. Understand the football simulation source code. Learn all the technical specifications of the system components.
UQI120S2 Human Computer Interaction Designing and building GUIs We made the point that the final product should fit the cognitive makeup of the user. We.
Fall 2007ACS-1805 Ron McFadyen1 Chapter 5 Interactive Programs.
1 Model View Controller. 2 Outline Review Definitions of MVC Why do we need it? Administiriva Changing the display Event flow Dragging at interactive.
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Intro and Chapter 1 Goals Give student some idea.
Introduction What is this ? What is this ? This project is a part of a scientific research in machine learning, whose objective is to develop a system,
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Chapter 7 Chapter 7: Graphical Primitives.
The BIM Concept Drawings, building views, visualizations, calculations and quantity take-offs are automatically derived from the 3D model. BIM= Building.
MVC Fall 2005 OOPD John Anthony. Design Patterns The hard problem in O-O programming is deciding what objects to have, and what their responsibilities.
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Chapter 2 Chapter 2: GUI API.
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Chapter 4 Chapter 4: Working with Graphics APIs.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
User Interface Programming in C#: Direct Manipulation Chris North CS 3724: HCI.
Who am I? ● Catalin Comanici ● QA for 10 years, doing test automation for about 6 years ● fun guy and rock star wannabe.
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
MVC pattern and implementation in java
Java Beans.
MVC and MVP. References enter.html enter.html
Model-View-Controller Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
(c) University of Washington08-1 CSC 143 Models and Views Reading: Ch. 18.
Swing and MVCS CompSci 230 Software Construction.
Ch 3-4: GUI Basics Java Software Solutions Foundations of Program Design Sixth Edition by Lewis & Loftus Coming up: GUI Components.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Essentials of Interactive Computer Graphics: Concepts and Implementation K. Sung, P. Shirley, S. Baer Chapter 5 Chapter 5: MVC Architecture.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
User Interface Programming in C#: Direct Manipulation Chris North CS 3724: HCI.
3.1 Solving equations by Graphing System of equations Consistent vs. Inconsistent Independent vs. Dependent.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
March 9, 2009 Maze Solving GUI. March 9, 2009 MVC Model View Controller –Model is the application with no interfaces –View consists of graphical interfaces.
In the name of God Computer Graphics.
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
CSCI1600: Embedded and Real Time Software Lecture 8: Modeling III: Hybrid Systems Steven Reiss, Fall 2015.
Object Arts.com “Twisting the Triad” The evolution of the Dolphin Smalltalk MVP framework Andy Bower Blair McGlashan Object Arts Ltd.
L10: Model-View-Controller General application structure. User Interface: Role, Requirements, Problems Design patterns: Model – View – Controller, Observer/Observable.
CS223: Software Engineering
Chapter 5 – Software Tools. 5.1 Introduction Tools valuable for –Specification –Interface Building –Evaluation.
DOMAIN DRIVEN DESIGN Dave 12 May WHAT IS DDD? Set of principles to aid in building complex systems Enables us to focus on core problem domain NOT.
High degree of user interaction Interactive Systems: Model View Controller Presentation-abstraction-control.
Computer System Structures
Interface Concepts Modeling Core Team
Chapter 1 Introduction.
In the name of God Computer Graphics.
CSE 333 – Section 4 HW3, MVC, GTK+.
User experience Framework
Chapter 8: Writing Graphical User Interfaces
Goals Give student some idea what this class is about
Java Beans Sagun Dhakhwa.
MVC and Design Patterns
MVC and other n-tier Architectures
Chapter 2: GUI API Chapter 2.
Salevich Alex & Frenkel Eduard Wizard Hunting
CS102 – Bilkent University
CSCI1600: Embedded and Real Time Software
Building Graphical User Interface with Swing a short introduction
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Professor John Canny Spring 2004 March 5
CSCI1600: Embedded and Real Time Software
Advanced ProgramMING Practices
Model-view-controller
Model, View, Controller design pattern
Professor John Canny Spring 2003 March 12
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
Chapter 1 Introduction.
SDMX IT Tools SDMX Registry
Presentation transcript:

Chapter 5: MVC Architecture Chapter 5

We will … Learn MVC software architecture Describe MVC-based solution for ball shooting Examine Expendability of MVC solutions Develop software library support for MVC framework: UWBGL Chapter 5

In a nutshell … So far … This chapter: Programming model: event driven GUI API: elements and event registrations Graphics API: GHC initialization and drawing with RC This chapter: MVC Architecture: consolidate all of the above! Chapter 5

The MVC Architecture Chapter 5

Model-View-Controller Application state The persistent variables View Draws the application state Graphics API support Controller Accepts input from user to change the model GUI API support Chapter 5

Model of Ball shooting program Chapter 5

Model: Application State: Support: All persistent variables State Inquiries State Changes Timer event support (Simulation update) State Visualization Chapter 5

View of Ball shooting program Chapter 5

Controller of Ball shooting program ViewController: is our Camera! Chapter 5

Expanding Ball shooting program Chapter 5

Implement 2 views … Chapter 5

Notes on MVC … Simplicity: Portability: Expendability: Model: usually most complex MVC: allow design of Model to be independent from user interaction and from drawing Portability: E.g., Change of controller ports Model to a different GUI platform Expendability: As we have seen: adding new view/controller pairs is straightforward Chapter 5

MVC: component interactions User change application state: Via controllers Application changes its own state Via timer events All controllers and views must present consistent state GUI element must be correct: e.g., slider bar reflecting the falling hero ball position Drawing must be update to date Classic MVC architecture Elaborate protocol to ensure all states are consistent … Chapter 5

MVC with real-time simulation … Every 25 milliseconds: timer fires! Application state likely to change MUST redraw all views!! During Timer event … ALWAYS Poll/update all controllers Update Application state Update all views Simple update protocol Chapter 5

2-View ball shooting component interaction Chapter 5

Inter-Ball Collision Chapter 5