Proposito | proporciona interfaz para crear familia de objetos relacionados o que dependen entre si, sin especificar clases concretas |
Motivacion | si queremos tener interfaz de usuario independiente de los objetos concretos que la componen. Si aplicacion crea instancias de clases de la interfaz de usuario seria difícil cambiarla mas tarde. |
Lo aplicamos cuando | - Sistema deba ser independiente de como se crean, componen y representan sus productos
- Sistema debe ser configurado con familia de productos de entre varias
- Familia de objetos producto relacionados esta diseñada para ser usada en cjto obligatoriamente, al ser requisito
- Quiere proporcionar biblioteca de clases de productos y solo quiere revelar sus interfaces sin sus implementaciones. |
Ventajas | - Aisla clases concretas de clientes
- Facilita intercambio de familias de productos
- Promueve la consistencia entre productos |
Inconvenientes | - Dibifil dar cabida a nuevos tipos de productos pues habría que modificar la factoría |