Applied Design Patterns with Java
Design Patterns are observations of successful established O-O practices
that have been formalized into a taxonomy. Thus, many developers and designers have informal notions of Design Patterns. Some of
- Design Patterns are recurring solutions to design problems you see over
- Design Patterns constitute a set of rules describing how to accomplish
certain tasks in the realm of software development.
- Design Patterns focus more on reuse of recurring architectural design
themes, while frameworks focus on detailed design and implementation.
- A Design Pattern addresses a recurring design problem that arises in
specific design situations and presents solutions to it.
- Patterns identify and specify abstractions that are above the level
of single classes and instances, or of components.
The taxonomy of 23 common architectural Design
Patterns initially were grouped into three recurring paradigms:
- Creational Patterns
- create objects for a user, based on context or choices adding flexibility about how and when objects are instantiated;
- Structural Patterns
- combine groups of objects into larger structures with related functionality (i.e.: User Interfaces, Accounting
Packages, Graphics Libraries, etc.);
- Behavioral Patterns
- define and establish communication between objects, and control how that communication flows in a system or program.