1) El documento describe los patrones de diseño Abstract Factory y Builder. 2) El patrón Abstract Factory apoya la creación de productos relacionados y permite intercambiar fábricas sin alterar la estructura, mientras que Builder separa la especificación del objeto de su construcción para crear diferentes representaciones del mismo. 3) Ambos patrones usan agregación para definir las relaciones entre sus clases.
2. INTRODUCCIÓN
Los patrones de creación introducen un concepto muy popular en los patrones de
diseño: Factories. Las Factories son clases que manejan la instanciación de objetos
relacionados sin subclase.
Se presentan en este capitulo dos patrones principales
• El patrón Abstract Factory toma este proceso mas allá, creando familias de objetos
relacionados o dependientes
• El patrón Builder ofrece flexibilidad adicional en términos de la combinación de
objetos que se están construyendo.
3. PATRÓN FACTORY ABSTRACTO.
Función
Este patrón apoya la unión y creación de productos que están diseñados para ser ejecutados
juntos.
El patrón aísla las definiciones y sus nombres de clase, de modo que la única manera de obtener
uno de ellos es a través de una Factory (conjunto), Por esta razón, los grupos de productos
pueden intercambiarse o actualizarse fácilmente sin alterar la estructura.
4. Ilustración
En la sociedad moderna existe un gran número de falsificaciones en el mercado. A veces las
copias se identifican al principio como “réplicas”, por lo que el cliente es consciente de lo que está
comprando. Sin embargo, a menudo el cliente no sabe o no le importa.
El patrón Abstract Factory crea una capa similar ocultando realmente el nombre de fábrica del
cliente, realizando la tarea especifica.
En términos informáticos, esto hace posible intercambiar la fábrica, mientras se sigue
proporcionando las mismas mercancías de acuerdo a una interfaz acordada fija.
5. Diseño
El diseño es bastante simple, ejemplo:
1. El cliente tiene una fábrica de hormigón conforme a la interfaz de AbstractFactory. A través
de eso, pide objetos de producto de tipo A y B, tipos de productos abstractos.
2. Las fábricas de hormigón clasifican exactamente qué productos obtiene el cliente (A y B).
3. Esto permite que el sistema sea independiente de cómo se crean, componen e implementan
los productos.
4. El cliente no está preocupado por los detalles de los productos (métodos, atributos), ni
siquiera por sus nombres de clase reales; Sólo sabe que un objeto de tipo A y un objeto de
tipo B se proporcionan.
6. 1
2
1. Hace referencia a la fabrica la cual puede ser modificada, teniendo en cuenta que
realizara entrega del mismo producto sin modificar.
2. Hace referencia al producto a entregar por la Factory, sujeto a una interfaz acordada
fija no modificable
7. PATRÓN BUILDER.
Función
Principales funciones del patrón:
• El patrón Builder separa la especificación de un objeto complejo de su construcción real.
• El mismo proceso de construcción puede crear diferentes representaciones.
8. Ilustración
Supongamos que una empresa de pedidos en línea ofrece bolsos y zapatos -tanto reales como de
réplica- sobre una base a medida. Esperamos que el tiempo necesario para hacer uno de los
artículos genuinos sea más largo. Además, notaríamos otras diferencias entre los productos.
Cada producto se compone de varias piezas, incluyendo el material exterior, el revestimiento, la
etiqueta, etc. En este caso Las bolsas genuinas, más caras, tendrán más partes generalmente.
El patrón Builder entra en los detalles de cómo se fabrican los productos, y parte de esta
información se puede transmitir de nuevo al cliente. Por ejemplo, el tiempo de entrega será
obvio, pero el país de origen tal como se especifica en la etiqueta también podría ser importante.
9. Diseño
El patrón Builder está basado en Directores y Constructores. Cualquier clase de Builder puede
cumplir con una interfaz de la Implementación, y pueden ser llamadas por un director para
producir un producto de acuerdo a la especificación.
Los constructores suministran las piezas que los objetos Producto acumulan hasta que el director
termine el trabajo
11. Se Recomienda el uso del patrón Builder cuando...
• El algoritmo para crear las partes es independiente del de crear todas las partes.
• El objeto a ensamblar puede tener diferentes representaciones, diferentes tipos del mismo
producto.
• Necesita un control preciso sobre el proceso de construcción de cada parte y del proceso
total de construcción.
Patrón Builder