05/26/2004www.indyjug.net1 Indy Java User’s Group June 29 2005 Knowledge Services, Inc.

Slides:



Advertisements
Similar presentations
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.
Advertisements

18-1 Verifying Object Behavior and Collaboration Role playing – the act of simulating object behavior and collaboration by acting out an object’s behaviors.
DESIGN PATTERNS OZGUR RAHMI DONMEZ.
Design Patterns for Object Oriented systems CSC 515 Ashwin Dandwate.
Design Patterns Yes, they are important Robert Cotton April 23, 2009.
Patterns Reusable solutions to common object-oriented programming problems When given a programming problem, re-use an existing solution. Gang of Four.
(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.
Design Patterns CS is not simply about programming
Copyright © Active Frameworks, Inc.. - All Rights Reserved - V2.0 Introduction - Page L1-1 PS95&96-MEF-L1-1 Dr. M.E. Fayad Creationa l Paradigm.
Design Patterns. What are design patterns? A general reusable solution to a commonly occurring problem. A description or template for how to solve a problem.
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
Design Patterns William A. Hoffman NYU OOP Class.
March R McFadyen1 GoF (Gang of Four): Gamma, Johnson, Helm & Vlissides Book: Design Patterns: Elements of Reusable Object-Oriented 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.
Design Patterns Module Name - Object Oriented Modeling By Archana Munnangi S R Kumar Utkarsh Batwal ( ) ( ) ( )
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Idioms and Patterns polymorphism -- inheritance and delegation idioms -- realizing.
Design Patterns Alan Shalloway, James Trott, Design Patterns Explained, Addison-Wesley, Gamma, Helm, Johnson, Vlissides, Design Patterns, Elements.
Design Patterns Trends and Case Study John Hurst June 2005.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
樣式導向設計 (Pattern-Oriented Design) 課程簡介 Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering.
05 - Patterns Intro.CSC4071 Design Patterns Designing good and reusable OO software is hard. –Mix of specific + general –Impossible to get it right the.
CSSE 374: Introduction to Gang of Four Design Patterns
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
January 12, Introduction to Design Patterns Tim Burke References: –Gamma, Erich, et. al. (AKA, The Gang of Four). Design Patterns: Elements of Reusable.
Design Patterns in Java Chapter 1 Introduction Summary prepared by Kirk Scott 1.
Powerpoint Templates Page 1 Powerpoint Templates What is Design Patterns ? by Indriati Teknik Informatika – UB.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
DESIGN PATTERNS CSC532 Adv. Topics in Software Engineering Shirin A. Lakhani.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
CSE 403 Lecture 14 Design Patterns. Today’s educational objective Understand the basics of design patterns Be able to distinguish them from design approaches.
CSE 403, Spring 2008, Alverson Software Design “There are two ways of constructing a software design: one way is to make it so simple that there are obviously.
Testing Extensible Design Patterns in OO Frameworks through Scenario Templates D.S. Sanders Software Verification & Validation.
Methods: Deciding What to Design In-Young Ko iko.AT. icu.ac.kr Information and Communications University (ICU) iko.AT. icu.ac.kr Fall 2005 ICE0575 Lecture.
ECE450S – Software Engineering II
Design Patterns CSIS 3701: Advanced Object Oriented Programming.
1 Design Patterns Object-Oriented Design. 2 Design Patterns 4Reuse of design knowledge and experience 4Common in many engineering disciplines 4Avoids.
Creational Patterns
05/26/2004www.indyjug.net1 Indy Java User’s Group May Knowledge Services, Inc.
What to know for the exam. Smalltalk will be used for questions, but there will not be questions about the grammar. Questions might ask – how particular.
Copyright © Active Frameworks Inc. - All Rights Reserved - V2.0Design Pattern Catalog - Page L3-1 PS95&96-MEF-L10-1 Dr. M.E. Fayad Creationa.
Stephenson College DP 98 1 Design Patterns by Derek Peacock.
Design Patterns. 1 Paradigm4 Concepts 9 Principles23 Patterns.
Design Patterns Introduction
Java Design Patterns Java Design Patterns. What are design patterns? the best solution for a recurring problem a technique for making code more flexible.
CS251 – Software Engineering Lectures 18: Intro to DP Slides by Rick Mercer, Christian Ratliff, Oscar Nierstrasz and others 1 و ابتغ فيما آتاك الله الدار.
Design Patterns in Context ©SoftMoore ConsultingSlide 1.
Five Minute Design Patterns Doug Marttila Forest and the Trees May 30, 2009 Template Factory Singleton Iterator Adapter Façade Observer Command Strategy.
7 April 2004CSci 210 Spring Design Patterns 2 CSci 210.
Design Patterns CSCE 315 – Programming Studio Spring 2013.
Design Patterns: MORE Examples
The Object-Oriented Thought Process Chapter 15
Chapter 10 Design Patterns.
樣式導向設計 (Pattern-Oriented Design) 課程簡介
Chapter 5:Design Patterns
Software Design Patterns
MPCS – Advanced java Programming
Introduction to Design Patterns
Design Patterns Lecture part 2.
Introduction to Design Patterns
object oriented Principles of software design
SOEN 343 Software Design Computer Science and Software Engineering Department Concordia University Fall 2005 Instructor: Patrice Chalin.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
CSE 403 Software Design.
DESIGN PATTERNS : Introduction
Design Patterns Imran Rashid CTO at ManiWeber Technologies.
Informatics 122 Software Design II
Presentation transcript:

05/26/2004www.indyjug.net1 Indy Java User’s Group June Knowledge Services, Inc.

05/26/2004www.indyjug.net2 Agenda Welcome / Pizza6:00-6:15 Introductions6:15-6:30 Design Patterns6:30-7:30 Future JUG Topics 7:30-8:00 Giveaways8:00-8:15

05/26/2004www.indyjug.net3 Mission Statement Promote the use of the Java language and components across all levels of interest in the greater Indianapolis area, by serving as a resource for knowledge, experience and career opportunities.

05/26/2004www.indyjug.net4 Introductions NameName WorkWork How long have you been coming?How long have you been coming? Something InterestingSomething Interesting

05/26/2004www.indyjug.net5 Tonight’s Objective Design Patterns Overview Elements of a Design Patterns Chain of Responsibility(CoR) Example ‘Your Turn’

05/26/2004www.indyjug.net6 Design Patterns (Overview) Goals of Design Patterns Benefits of Design Patterns Challenges of Design Patterns History (Gang of Four)

05/26/2004www.indyjug.net7 Design Patterns (Goal) “Capture solutions that have developed and evolved over time in a succinct and easily applied form.” “Systematically name, explain and evaluate an important and recurring design in object-oriented systems”

05/26/2004www.indyjug.net8 Design Patterns (Quote) “A design pattern isn’t ‘designed’. It’s discovered. In other words, patterns aren’t an invention as much as they are a refactoring of existing concepts.” - A. Russell Jones

05/26/2004www.indyjug.net9 Design Patterns (Benefits) Vocabulary Reusability OO Ideals Standardization

05/26/2004www.indyjug.net10 Design Patterns (Challenges) “Define and describe a repetitive activity at a high enough level to be useful across very different applications, yet specific enough to have a single implementation.” Individual interpretation (Design vs. Impl) Terminology overloading. Implementation (language limitations, etc) Singleton example

05/26/2004www.indyjug.net11 Design Patterns (Singleton) public static MyObject getInstance(){ if( myObject == null ) { myObject = new MyObject(this); } return( myObject ); }

05/26/2004www.indyjug.net12 Design Patterns (History) Gang of Four Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Book Design Patterns: Elements of Reusable Object-Oriented Software ISBN Copyright 1995 by Addison Wesley, Inc.

05/26/2004www.indyjug.net13 Design Patterns (Elements-1) Pattern Name (handle) Higher level of abstraction Vocabulary Problem (context) Conditions that must be met before the pattern can be applied Describe class or object structures

05/26/2004www.indyjug.net14 Design Patterns (Elements-2) Solution (elements) Relationships Responsibilities Collaborations Consequences (trade-off) Flexibility Extensibility Portability

05/26/2004www.indyjug.net15 Design Patterns (Categories) Creational Patterns Factory Method, Singleton, Abstract Factory, Builder, Prototype Structural Patterns Adapter, Decorator, Bridge, Composite, Façade, Flyweight, Proxy

05/26/2004www.indyjug.net16 Design Patterns (Categories) Behavioral Patterns Command, Iterator, Interpreter, Mediator, Chain of Responsibility (CoR), Memento, Observer, State, Strategy, Template Method, Visitor

05/26/2004www.indyjug.net17 Design Patterns (Creational) Creational design patterns abstract the instantiation process. They help make a system independent of how its objects are created, composed, and represented. (Factory, Singleton)

05/26/2004www.indyjug.net18 Design Patterns (Structural) Structural design patterns are concerned with how classes and objects are composed to form larger structures. (i.e. Inheritance). (Adapter, Decorator)

05/26/2004www.indyjug.net19 Design Patterns (Behavioral) Behavioral design patterns are concerned with algorithms and the assignment of responsibilities between objects including the communication between them. (Command, Iterator)

05/26/2004www.indyjug.net20 Design Patterns (Review) Decorator Allows the ability to change the ‘skin’ Strategy Allows the ability to change the ‘guts’

05/26/2004www.indyjug.net21 Design Patterns (CoR) “Avoid coupling the sender of a request to its receiver by giving more then one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.” -GoF

05/26/2004www.indyjug.net22 Design Patterns Example

05/26/2004www.indyjug.net23 Design Patterns (References) chain_p.html

05/26/2004www.indyjug.net24 Design Patterns Your Turn!!

05/26/2004www.indyjug.net25 Future Topics Recap from 11/2004: Sitemesh Subversion RUP / XP / Agile JNDI/LDAP Clustering / Deploying various OSs Webstart PDF Generation SOA/SOAP/Web Services

05/26/2004www.indyjug.net26 Info Next Meeting - July 27, 2004 The Art of Agility and the AUP - Agile unified Process - Discussion Forum Website -

05/26/2004www.indyjug.net27 Indy Java User’s Group