Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "05/26/2004www.indyjug.net1 Indy Java User’s Group June 29 2005 Knowledge Services, Inc."— Presentation transcript:

1 05/26/2004www.indyjug.net1 Indy Java User’s Group June 29 2005 6:00p.m @ Knowledge Services, Inc.

2 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

3 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.

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

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

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

7 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”

8 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

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

10 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

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

12 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 0-201-63361-2 Copyright 1995 by Addison Wesley, Inc.

13 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

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

15 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

16 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

17 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)

18 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)

19 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)

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

21 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

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

23 05/26/2004www.indyjug.net23 Design Patterns (References) www.javaworld.com/javaworld/jw-08-2004/jw- 0816-chain_p.html www.devx.com/opinion/Article/22035/1954?pf=true

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

25 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

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

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


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

Similar presentations


Ads by Google