Model – View – Controller Pointers and Project

Slides:



Advertisements
Similar presentations
Lesson 6. The Computer Operation Computer Operating Systems GUI vs. Command line The Microsoft Windows Family File Systems – How Computers Manage Data.
Advertisements

1 Today’s lecture  Last lecture we started talking about control flow in MIPS (branches)  Finish up control-flow (branches) in MIPS —if/then —loops —case/switch.
OOP Design Patterns Chapters Design Patterns The main idea behind design patterns is to extract the high level interactions between objects and.
Command Design Pattern Source: Design Patterns – Elements of Reusable Object- Oriented Software; Gamma, et. al.
Object-Oriented Analysis and Design
More OOP Design Patterns
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Dependency Injection and Model-View-Controller. Overview Inversion of Control Model-View-Controller.
CS252: Systems Programming Ninghui Li Final Exam Review.
MODEL VIEW CONTROLLER A Technical Seminar Report submitted to
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
MVC pattern and implementation in java
Systems Analysis and Design in a Changing World, Fifth Edition
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
MVC CompSci 230 S Software Construction. MVC Architecture  A typical application includes software to  maintain application data,  document text.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Operating Systems JEOPARDY Computer Repair NetworkOS OS Tasks ConceptsComponentsMisc
Implementation support z programming tools y levels of services for programmers z windowing systems y core support for separate and simultaneous user-system.
1 Implementation support chapter 8 programming tools –levels of services for programmers windowing systems –core support for separate and simultaneous.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
Topic 2d High-Level languages and Systems Software
Graphical User Interface You will be used to using programs that have a graphical user interface (GUI). So far you have been writing programs that have.
Model View Controller MVC Web Software Architecture.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
Dialog Boxes.
Object Arts.com “Twisting the Triad” The evolution of the Dolphin Smalltalk MVP framework Andy Bower Blair McGlashan Object Arts Ltd.
Types of Software Chapter 2.
1 2/2/05CS250 Introduction to Computer Science II Pointers.
Java - hello world example public class HelloWorld { public static void main (String args[]) { System.out.println("Hello World"); }
Lecture 12 Implementation Issues with Polymorphism.
1 Homework Continue with K&R Chapter 5 –Skipping sections for now –Not covering section 5.12 Continue on HW5.
High degree of user interaction Interactive Systems: Model View Controller Presentation-abstraction-control.
CISC220 Spring 2010 James Atlas Lecture 04: Pointers, Functions, Memory Management, ADTs, Classes, Hardware, Software, Graphics, Networking, AI, Databases,
Engineered for Tomorrow Unit:8-Idioms Engineered for Tomorrow sharmila V Dept of CSE.
Identify internal hardware devices (e. g
MVC and Design Patterns
Chapter 13 Logical Architecture.
CSC 253 Lecture 8.
Computer Parts There are four main equipment functions of a computer system: Input, Processing, Storage and Output. Input: the transferring of information.
CSC 253 Lecture 8.
Social Media And Global Computing Introduction to Visual Studio
CS 2308 Exam I Review.
Informatics 43 – May 26, 2016.
Popping Items Off a Stack Lesson xx
Understanding the Visual IDE
Building Graphical User Interface with Swing a short introduction
Web Application Architectures
September 5 Fang-Yi’s Office Hours Friday 10am  12pm (and another TBD) Programming Language Issues (JAVA vs. C, Pointers vs. Arrays) Representations Instructions.
Computer Parts There are four main equipment functions of a computer system: Input, Processing, Storage and Output. Input: the transferring of information.
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Logical Architecture.
CSc 352 Debugging Tools Saumya Debray Dept. of Computer Science
XDR External Data Representation
An Introduction to Software Architecture
Web Application Architectures
WPS - your story so far Seems incredible complicated, already
Model – View – Controller Debugging
Passing Arguments and The Big 5
Implementation support
Fundamental Programming
Model, View, Controller design pattern
11. MVC SE2811 Software Component Design
11. MVC SE2811 Software Component Design
Basic Concepts of The User Interface
Web Application Architectures
How Memory Leaks Work with Memory Diagram
CSCE156: Introduction to Computer Science II
August 31 addresses Drop box Questions? 31 August 2004
Implementation support
Chapter 13 Logical Architecture.
Presentation transcript:

Model – View – Controller Pointers and Project Slides adapted from Craig Zilles

Model – View – Controller (MVC) A Software Architectural Pattern Much like a design pattern It uses design patterns Provides low coupling in User Interface systems.

Decouple interface from application state MVC Key Idea Break application into 3 logical components Model: Holds the state of the application and logic/rules of how state can be updated. View: Output representation of information Controller: Accepts user input and translates it into commands for the model or a view Decouple interface from application state

Low Coupling from Views/Controllers to Model Model code is independent from interface Can support many different views Simultaneously or one-at-a-time (e.g., summary vs. detail) Use Observer pattern to attach Views to Model Can support many different controllers

How hard was Naïve Bayes? Easy Moderate Challenging Unreasonable

How long did it take to complete Naïve Bayes? Less than 3 hours 3 to 6 hours 6 to 9 hours 9 to 12 hours More than 12 hours

Final Project Application using openFrameworks Use a window Use a significant library not presented in class

We will cover GUI and UI Design openFramework gui smart pointers Unix tools

What to Cover? Native GUI 3d Graphics Networking Sound Database Stuff

What are these? char *str[10]; int (*q)(int);

More Examples (Arrays and Pointers) int *x[]; int (*y)[];

More Examples (Const and Pointers) const char *chptr; char * const chptr;

More Examples (Functions and Pointers) int *z(int); int (*q)(int);

What does the pointer point to? int (*foo)[]; A pointer to an array of integers An array of pointers to integers A pointer to a function that takes no arguments and returns an integer A function that takes no arguments and returns a pointer to an integer None of the above

Stack Heap and Memory git clone https://github.com/gcevans/smart Clone this repo: git clone https://github.com/gcevans/smart

More Pointers T* This is a raw pointer and has no required ownership unique_ptr<T> This is a pointer that owns an object shared_ptr<T> This is a pointer that allows shared ownership of an object weak_ptr<T> This is a pointer has no ownership of an object