Model View Presenter Design Pattern Jay Smith PMO Architect and Evangelist Tyson Foods, Inc.

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

ARCH-13 Developing WebSpeed  Applications Chris Skeldon Principal Consultant.
Presented by Benjamin Kehrer [CSCI 360, CofC, 03/17/08]
OOP Design Patterns Chapters Design Patterns The main idea behind design patterns is to extract the high level interactions between objects and.
Lecture 23: Software Architectures
Session # 2645 Reusable Development Components from the Java(TM) 2 Platform, Enterprise Edition (J2EE(TM)) and Open Source Projects Rob Weaver Architect.
Object-Oriented Analysis and Design
Shailen Sukul Senior Solutions Architect EMC BSc | Mct | Mcpd (.Net 2/3.5) | Mcts (Sharepoint (MOSS/WSS), Biztalk, Web, Win, Dist Apps) | Mcsd.NET | Mcsd.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Dependency Injection and Model-View-Controller. Overview Inversion of Control Model-View-Controller.
Lecture 7: Objects and Interaction 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271 
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Entity Framework Code First End to End
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
MVC and MVP. References enter.html enter.html
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
ASP.NET and Model View Control Jesper Tørresø ITNET2 F08.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
An Introduction to Software Architecture
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Reactor Design Patterns: Command and Observer.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
DaveAndAl.net Do Application Design Patterns Make Sense in ASP.NET? Alex Homer You may like to write these down now...
DEV-36: Composite MVP – Building Blocks in Presentation Layer
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Model View Controller MVC Web Software Architecture.
Model View Controller (MVC) Bigger than a Pattern: It’s an Architecture Rick Mercer with help from many of others 1.
Getting started with ASP.NET MVC Dhananjay
The Start Menu……..Exposed What you never knew existed.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern – Builder Pattern.
Introduction (Continued) Design Patterns (I) Lecture Two.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Model View Controller (MVC) an architecture Rick Mercer with help from many of others 1.
BTS430 Systems Analysis and Design using UML
#SPSSAN June 30, 2012 San Diego Convention Center WRITING TESTABLE CODE In SharePoint.
Testing WebForms w/ Model-View-Presenter Erik Peterson.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Intro to MVC5 Bryan Soltis Bit-Wizards - Director of Technology & Research.
Programming with MVVM Miguel A. Castro Architect -
Design Patterns Source: “Design Patterns”, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides And Created.
GRASP – Designing Objects with Responsibilities
Introduction to .NET Florin Olariu
Architecture Brief Pepper
N-Tier Architecture.
MVC Architecture, Symfony Framework for PHP Web Apps
Introduction to Visual Basic 2008 Programming
Conception OBJET GRASP Patterns
Observer Design Pattern
MVC and other n-tier Architectures
Software Design and Architecture
Building Web Applications with Microsoft ASP
Part 3 Design What does design mean in different fields?
CO6025 Advanced Programming
Reusability 11/29/2018© 2006 ITT Educational Services Inc.
Patterns.
Event Driven Programming
Starting Design: Logical Architecture and UML Package Diagrams
An Introduction to Software Architecture
WPS - your story so far Seems incredible complicated, already
Model-view-controller
11. MVC SE2811 Software Component Design
11. MVC SE2811 Software Component Design
ASP.NET MVC Imran Rashid CTO at ManiWeber Technologies.
ASP.NET and Model View Control
Presentation transcript:

Model View Presenter Design Pattern Jay Smith PMO Architect and Evangelist Tyson Foods, Inc.

Agenda Introduction The Winds of Change Model View Controller/Presenter The Model, View, and the Controller/Presenter Demo Summary Resources Contact Information

The Winds of Change Microsoft.NET Framework Releases.NET Framework NET Framework Year.NET Framework Years.NET Framework Year.NET Framework 3.5 B Year

4 Observation Every piece of code in the UI is costly!

Model View Controller/Presenter Model-view-controller (MVC) is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller.

The Model Just like ASP.Net, WinForms does not strictly require a model. The developer has the option to create a model class, but may choose to forget it and have the event handlers in the controller perform any calculations and data persistence. Again, using a model to encapsulate business rules and database access is both possible and preferable. It is left to developers to design the Model.

A class inheriting from either Form or Control handles the responsibilities of the view. In the case of WinForms, the View and Controller are compiled into the same class. This differs from ASP.Net, which uses inheritance, and Smalltalk, which have separate classes with pointers to one another. The View

The Controller/Presenter The duties of the controller are split between three places. The generation and passing of events starts at the OS level. Inside the.Net framework, the Form and Control classes route the event to the proper event handler. The event handlers typically reside in the Form or Control class and are implemented as delegates for the user interface events (e.g. button click, form load, listbox selection changed).

DEMO

Model View Presenter

Summary Code in the UI is Costly Remove as Much Code as Possible from the UI Layer Increased Encapsulation Easier To Test Greater Code Reuse

Resources Martin Fowler - Framework - Head First Design Patterns - Eric Freeman & Elisabeth Freeman Design Patterns in C# - Steven Metsker Design Patterns for Dummies - Steve Holzner, PhD The Polymorphic Podcast -

Contact Info Jay Smith - Twitter – LinkedIn - NWA.NET User Group -