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

967

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
967
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 />

×