Beta Release Retrospective

Slides:



Advertisements
Similar presentations
Facilitating Efficacious Transfer of Database Knowledge and Skills Huda Al-Shuaily
Advertisements

Welcome to. Who am I? A better way to code Design Patterns ???  What are design patterns?  How many are there?  How do I use them?  When do I use.
ANU COMP2110 Software Design in 2003 Lecture 16Slide 1 Lecture 16: Introduction to design patterns 1What are they? 2Where do they come from? 3Why study.
OOP Design Patterns Chapters Design Patterns The main idea behind design patterns is to extract the high level interactions between objects and.
Plab – Tirgul 12 Design Patterns
Observer Pattern Fall 2005 OOPD John Anthony. What is a Pattern? “Each pattern describes a problem which occurs over and over again in our environment,
(c) 2009 University of California, Irvine – André van der Hoek1June 13, 2015 – 21:42:16 Informatics 122 Software Design II Lecture 8 André van der Hoek.
Software Design & Documentation – Design Pattern: Command Design Pattern: Command Christopher Lacey September 15, 2003.
Design and Programming Patterns Associated with Java Networking by Margaret Toews cs843, Spring 2003.
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
(c) 2010 University of California, Irvine – André van der Hoek1June 29, 2015 – 08:55:05 Informatics 122 Software Design II Lecture 8 André van der Hoek.
Pedagogical Patterns: their Place in the Genre Sally Fincher & Ian Utting ITiCSE 2002 Aarhus, Denmark June 2002.
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
Introduction to software design patterns For CSE 3902 By: Matt Boggus.
Chapter 7 GRASP patterns Dr Seham Mostefai CAP 252.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Comp2110 Software Design lecture 13Detailed Design (1)  detailed design contrasted with high level design  introducing the Observer Design Pattern 
05 - Patterns Intro.CSC4071 Design Patterns Designing good and reusable OO software is hard. –Mix of specific + general –Impossible to get it right the.
CS 350 – Software Design An Introduction to Design Patterns – Chapter 5 A proposition behind design patterns is that quality of software systems can be.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
January 12, Introduction to Design Patterns Tim Burke References: –Gamma, Erich, et. al. (AKA, The Gang of Four). Design Patterns: Elements of Reusable.
ANU COMP2110 Software Design in 2004 Lecture 15Slide 1 COMP2110 in 2004 Software Design Lecture 15: Software design patterns (2) 1What are design patterns?
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
A Reference Model for Event Patterns Christian Silberbauer
Design Patterns. Patterns “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Object-Oriented Design Principles and Patterns. © 2005, James R. Vallino2 How Do You Design? What principles guide you when you create a design? What.
Chapter 1 Program Development Asserting Java © Rick Mercer.
CSE 403 Lecture 14 Design Patterns. Today’s educational objective Understand the basics of design patterns Be able to distinguish them from design approaches.
Design Patterns CS 124 Reference: Gamma et al (“Gang-of-4”), Design Patterns.
Design Patterns Introduction General and reusable solutions to common problems in software design SoftUni Team Software University
Design Principle & Patterns by A.Surasit Samaisut Copyrights : All Rights Reserved.
ECE450S – Software Engineering II
CSC 480 Software Engineering Design With Patterns.
Design Patterns References: Xiaoping Jia, Object-Oriented Software Development Using Java;Douglas C.Schmidt, Design Pattern Case Studies with C++
Design Patterns Introduction
CS251 – Software Engineering Lectures 18: Intro to DP Slides by Rick Mercer, Christian Ratliff, Oscar Nierstrasz and others 1 و ابتغ فيما آتاك الله الدار.
Example to motivate discussion We have two lists (of menu items) one implemented using ArrayList and another using Arrays. How does one work with these.
CS 210 Proxy Pattern Nov 16 th, RMI – A quick review A simple, easy to understand tutorial is located here:
Duke CPS Programming Heuristics l Identify the aspects of your application that vary and separate them from what stays the same ä Take what varies.
07 Jul 2006CSE403, Summer'06, Lecture10 Lecture 10: Core Principles and Best Practices for Software Design (Part I) “Treat design as a wicked, sloppy,
Class Relationships Lecture Oo08 Polymorphism. References n Booch, et al, The Unified Modeling Language User Guide, Chapt 10 p.125 n Fowler & Scott, UML.
1 Good Object-Oriented Design Dr. Radu Marinescu Lecture 4 Introduction to Design Patterns.
07 Aug 2006CSE403, Summer'06 Final Exam: Take-home versus In-class Valentin Razmov Take-home No rush to complete in 1 hour at 9:40am More realistic (but.
Command Pattern. Intent encapsulate a request as an object  can parameterize clients with different requests, queue or log requests, support undoable.
Design Patterns CSCE 315 – Programming Studio Spring 2013.
1 Lecture Material Design Patterns Visitor Client-Server Factory Singleton.
GRASP – Designing Objects with Responsibilities
Design Patterns: MORE Examples
COMP2110 Software Design in lecture 14 Patterns(1) /Detailed Design
Design Patterns: Brief Examples
Chapter 10 Design Patterns.
Software Design Patterns
Introduction to Design Patterns
Design Patterns Lecture part 2.
Introduction to Design Patterns
Chapter Nine The Strategy Pattern
Design Patterns Introduction
Software Engineering Lecture 7 - Design Patterns
Web Programming Language
Informatics 122 Software Design II
Patterns.
CSC 480 Software Engineering
CS 350 – Software Design An Introduction to Design Patterns – Chapter 5 A proposition behind design patterns is that quality of software systems can be.
DESIGN PATTERNS : Introduction
Strategy Design Pattern
Introduction to Design Patterns
Informatics 122 Software Design II
CSC 480 Software Engineering
Software Design Lecture : 27.
Presentation transcript:

Beta Release Retrospective Legend: OS = OpEnSpaCe TF = TeamForge Beta Release Retrospective Sustain: Improve: 03 Aug 2006 CSE403, Summer'06 Valentin Razmov

Lecture 16: Design Patterns In 1977, architect Christopher Alexander wrote a book that would be come a seminal work quite outside his own field: the design of software systems. Let’s see how the concepts in this book about physical architecture apply to software architecture nearly thirty years after its publication. Viewing problems and solutions in context Lincoln Ritter 3 August, 2006

Thinking of Solutions Student Submission Lincoln Ritter 3 August, 2006 Let’s start with an architectural problem to be solved: I have house that has two levels. Unfortunately, I have no way to get between the two levels. It would be nice to have simple way to join the two levels of my house together so as to facilitate easy transit between the two. Can you suggest a solution to this problem? Ok, so one solution to this problem is a stairway. Why might we come up with that? Lincoln Ritter 3 August, 2006

Thinking of Problems Student Submission Lincoln Ritter 3 August, 2006 I don’t think that it’d crazy to suggest a stairway as a solution to this problem. How about looking at this from another angle Lincoln Ritter 3 August, 2006

An Architectural Pattern Ok, here we see two examples of a staircase. Lincoln Ritter 3 August, 2006

Design Patterns Defined “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice” – Alexander, et al., A Pattern Language. Oxford University Press, 1977 Architect Christopher Alexander in his amazing book “A Pattern Language” wrote about effective solutions to common architectural problems. Lincoln Ritter 3 August, 2006

Pattern Principles Encapsulate variance Abstract the invariant Favor composition Lincoln Ritter 3 August, 2006

Design Patterns Designed Pattern Name Intent Problem/Motivation Solution Participants & Collaborators Consequences Implementation Lincoln Ritter 3 August, 2006

Strategy Intent: Encapsulate each of a family of behaviors such that the use of the behaviors varies independently of the client. Motivation: Remember the animals… Lincoln Ritter 3 August, 2006

Strategy: Structure Lincoln Ritter 3 August, 2006

Null Object Intent: Provide an object as a surrogate for the lack of an object of a given type. Motivation: Sometimes the correct behavior is to do nothing. However, collaborators should be able to treat “non-behaviors” and behaviors uniformly. Lincoln Ritter 3 August, 2006

Null Object: Structure Lincoln Ritter 3 August, 2006

Command Intent: Encapsulate a request or action as an object. Motivation: Sometimes we need to issue commands without knowledge of the specifics of any command – a menu is a good example. Lincoln Ritter 3 August, 2006