Design patterns are recurring solutions to software design problems that are repeatedly found in real-world application development.
Design patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges.
The most widely recognized book on design patterns, “Design Patterns – Elements of Reusable Object-Oriented Software,” written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, affectionately known as the “Gang-of-Four” (GoF), defined 23 design patterns and classified them into three categories: creational (abstracts the instantiation process), structural (groups objects into larger structures), and behavioral (defines better communication among objects).
This presentation will feature an introduction to design patterns followed by detailed overviews of a pattern from each of the three design pattern categories:
Each overview will include a description of the pattern, how and why it is used, and a source code review of a small application using the pattern.
- Factory Method (creational)
- Decorator (structural)
- Observer (behavioral)