From 0a61d7b06729bec9906ec99fca9d9e9c8cd9f9eb Mon Sep 17 00:00:00 2001 From: Ilkka Seppala <iluwatar@gmail.com> Date: Sat, 3 Oct 2015 11:53:44 +0300 Subject: [PATCH] Improve Abstract Factory Javadocs --- .../java/com/iluwatar/abstractfactory/App.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/abstract-factory/src/main/java/com/iluwatar/abstractfactory/App.java b/abstract-factory/src/main/java/com/iluwatar/abstractfactory/App.java index 29e9272f6..618b98c52 100644 --- a/abstract-factory/src/main/java/com/iluwatar/abstractfactory/App.java +++ b/abstract-factory/src/main/java/com/iluwatar/abstractfactory/App.java @@ -3,12 +3,21 @@ package com.iluwatar.abstractfactory; /** * + * The Abstract Factory pattern provides a way to encapsulate a group of individual + * factories that have a common theme without specifying their concrete classes. In + * normal usage, the client software creates a concrete implementation of the abstract + * factory and then uses the generic interface of the factory to create the concrete + * objects that are part of the theme. The client does not know (or care) which + * concrete objects it gets from each of these internal factories, since it uses only + * the generic interfaces of their products. This pattern separates the details of + * implementation of a set of objects from their general usage and relies on object + * composition, as object creation is implemented in methods exposed in the factory + * interface. + * <p> * The essence of the Abstract Factory pattern is a factory interface * ({@link KingdomFactory}) and its implementations ({@link ElfKingdomFactory}, - * {@link OrcKingdomFactory}). - * <p> - * The example uses both concrete implementations to create a king, a castle and - * an army. + * {@link OrcKingdomFactory}). The example uses both concrete implementations to + * create a king, a castle and an army. * */ public class App {