From 8cb1387709d2e2f6df86cbac6b7e617ab20aac29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Sat, 23 Aug 2014 20:33:48 +0300 Subject: [PATCH] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 8a47c1e11..67903215e 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,12 @@ ![alt text](https://github.com/iluwatar/java-design-patterns/blob/master/abstract-factory/etc/abstract-factory.jpg "Abstract Factory") +**Applicability:** Use the Abstract Factory pattern when +--* a system should be independent of how its products are created, composed and represented +--* a system should be configured with one of multiple families of products +--* a family of related product objects is designed to be used together, and you need to enforce this constraint +--* you want to provide a class library of products, and you want to reveal just their interfaces, not their implementations + ##Builder **Intent:** Separate the construction of a complex object from its representation so that the same construction process can create different representations.