Provide an interface for creating families of related or dependent objects without specifying their concrete classes.
-Design Patterns, GoF
1. How does the Abstract Factory pattern support the principle of implementing to an interface, not a class?
2. What are some typical product families that are encountered in an enterprise application? How often are they exchanged?
3. If products are often added or removed, what is the impact, given this pattern?
4. Is there ever overlap between product families? How could you support this, given the pattern?
5. What happens if one product family has a slightly different set of products?
Examples – Which are Abstract Factories?
1. Core J2EE Design Patterns – Abstract DAO Factory
· Principles, Patterns, and Practices: The Factory Pattern, Robert C. Martin (Java.net, March 2005) Abstract Factory Design Pattern (DoFactory.com)