- same as above
-
Use the Abstract Factory when your code needs to work with various families of related products, but you don’t want it to depend on the concrete classes of those products
-
Consider implementing the Abstract Factory when you have a class with a set of Factory Methods that blur its primary responsibility
- CONS: The code may become more complicated than it should be, since a lot of new interfaces and classes are introduced along with the pattern