Your SlideShare is downloading. ×
0
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Chicago Information Technology Architects Group - Design Patterns
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Chicago Information Technology Architects Group - Design Patterns

968

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
968
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Design Patterns in Java and .NET<br />Tim Murphy<br />Technical Specialist<br />Mike Vogt<br />Vice President of Architecture<br />
  2. Objective<br />Show the usefulness of Design Patterns when developing applications and how they apply no matter what the platform.<br />
  3. Agenda<br />History of patterns<br />What are patterns<br />Why are patterns important<br />Explore 6 common patterns<br />Anti-Patterns<br />
  4. History Of Patterns<br />Gang Of Four<br />POSA – Patterns of Software Architecture<br />Patterns of Enterprise Application Architecture<br />
  5. What Are Patterns<br />Pattern Name<br />Problem<br />Solution<br />Consequences<br />
  6. Why Are Patterns Important<br />Common vocabulary<br />Repositories of common solutions<br />
  7. Factory Method Pattern<br />Method for object creation<br />Lets subclasses decide which classes to create<br />
  8. Decorator Pattern<br />Attach additional responsibilities to an object dynamically<br />Allows behavior to be added via “wrappers”<br />Avoids extensive inheritance hierarchies<br />cost()<br /> Whip<br />cost()<br /> Mocha<br />cost()<br />DarkRoast<br />
  9. Adapter Pattern<br />Allows a system to use methods that do not match their interface<br />
  10. Visitor Pattern<br />A way of separating an algorithm from an object structure it operates on.<br />One can add new operations to existing object structures without modifying those structures<br /><<interface>><br />CarElement<br />+ accept(CarElementVisitor v)<br />Wheel<br />Engine<br />Body<br />Car<br />
  11. Strategy Pattern<br />Interchangeable algorithms<br />
  12. Composite Pattern<br />Allows you to compose objects into tree structures to represent whole-part hierarchies.<br />Lets clients treat individual objects and compositions of objects uniformly.<br /><<interface>><br />Component<br />+ operation<br />+ add(Component c)<br />+ remove(Component c)<br />+ getChild(inti)<br />Node<br />Client<br />Leaf<br />Leaf<br />Leaf<br />Composite<br />add, remove, getChild, operation<br />Leaf<br />+ operation()<br />
  13. Anit-Patterns<br />One pattern to rule them all<br />Loosey Goosey<br />
  14. ResourcesDesign Patterns: Elements of Reusable Object-Oriented Software – Erich Gamma, Richard Helm, Ralph Johnson, and John VlissidesHead First Design Patterns – Eric Freeman and Elisabeth FreemanDesign Patterns In C# - Steven John Metsker<br />
  15. Thank You!Blogs –geekswithblogs.net/tmurphyEmail -tmurphy@psclistens.commvogt@psclistens.comTwitter –@twmurph@mvogt99PSC’s websitewww.psclistens.com<br />

×