SlideShare una empresa de Scribd logo
CHAPTER 6
CREATIONAL PATTERNS:
ABSTRACT FACTORY AND BUILDER
(FABRICACIÓN ABSTRACTA Y CONSTRUCCIÓN)
JUAN PABLO LÓPEZ RESTREPO.
UPB – 2017.
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.
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.
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.
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.
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
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.
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.
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
Implements
Agregación
Agregación
Agregación
1
2
1. Agregación (Una hace parte de la otra) de Product con Builder
• Implementación de Builder - IBuilder
2. Agregación de la implementación al Cliente y al Director
3. Proceso terminado = Construcción de Producto
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
GRACIAS…

Más contenido relacionado

La actualidad más candente

Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)
programadorjavablog
 
Buider Patron de Diseño
Buider Patron de DiseñoBuider Patron de Diseño
Buider Patron de Diseño
Mario Cabrera
 
Exposicion de patrón de diseño
Exposicion de patrón de diseñoExposicion de patrón de diseño
Exposicion de patrón de diseño
joseph929
 
Consejos para escribir buenos casos de uso
Consejos para escribir buenos casos de usoConsejos para escribir buenos casos de uso
Consejos para escribir buenos casos de uso
kaolong
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
Yovana Connie Roca Avila
 

La actualidad más candente (20)

Abstract factory
Abstract factoryAbstract factory
Abstract factory
 
Abstract Factory
Abstract FactoryAbstract Factory
Abstract Factory
 
Patron fachada...
Patron fachada...Patron fachada...
Patron fachada...
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)
 
Patrones Creacionales
Patrones CreacionalesPatrones Creacionales
Patrones Creacionales
 
Modelado del negocio
Modelado del negocioModelado del negocio
Modelado del negocio
 
Buider Patron de Diseño
Buider Patron de DiseñoBuider Patron de Diseño
Buider Patron de Diseño
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
Exposicion de patrón de diseño
Exposicion de patrón de diseñoExposicion de patrón de diseño
Exposicion de patrón de diseño
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Consejos para escribir buenos casos de uso
Consejos para escribir buenos casos de usoConsejos para escribir buenos casos de uso
Consejos para escribir buenos casos de uso
 
Como Documentar Casos De Uso
Como Documentar Casos De UsoComo Documentar Casos De Uso
Como Documentar Casos De Uso
 
Diseño de Patrones (Fachada)
Diseño de Patrones (Fachada)Diseño de Patrones (Fachada)
Diseño de Patrones (Fachada)
 
Presentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoFPresentacion Patrones De Diseno GoF
Presentacion Patrones De Diseno GoF
 
Modelado de casos de uso
Modelado de casos de usoModelado de casos de uso
Modelado de casos de uso
 
Modelado de caso de uso y Diagrama de Caso de Uso
Modelado de caso de uso  y Diagrama de Caso de UsoModelado de caso de uso  y Diagrama de Caso de Uso
Modelado de caso de uso y Diagrama de Caso de Uso
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
 
Analisis del patron mvc
Analisis del patron mvcAnalisis del patron mvc
Analisis del patron mvc
 
Diagramas de Casos de Uso del Negocio y del Sistema
 Diagramas de Casos de Uso del Negocio y del Sistema Diagramas de Casos de Uso del Negocio y del Sistema
Diagramas de Casos de Uso del Negocio y del Sistema
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 

Destacado

Destacado (14)

Continuos Delivery Commit stage
Continuos Delivery Commit stageContinuos Delivery Commit stage
Continuos Delivery Commit stage
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Continuos Delivery
Continuos DeliveryContinuos Delivery
Continuos Delivery
 
Chapter 5 refactoring
Chapter 5 refactoringChapter 5 refactoring
Chapter 5 refactoring
 
Capitulo 7 moving features between objects
Capitulo 7  moving features between objectsCapitulo 7  moving features between objects
Capitulo 7 moving features between objects
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Construir tests
Construir testsConstruir tests
Construir tests
 
Refactoring: Improving the design of existing code. Chapter 6.
Refactoring: Improving the design of existing code. Chapter 6.Refactoring: Improving the design of existing code. Chapter 6.
Refactoring: Improving the design of existing code. Chapter 6.
 
Capitulo 2
Capitulo 2Capitulo 2
Capitulo 2
 
Refactoring: improving the desing of existing code Cap 1
Refactoring: improving the desing of existing code Cap 1Refactoring: improving the desing of existing code Cap 1
Refactoring: improving the desing of existing code Cap 1
 
Data green preentrega
Data green   preentregaData green   preentrega
Data green preentrega
 
Chapter 9
Chapter 9Chapter 9
Chapter 9
 
Making method calls_simpler
Making method calls_simplerMaking method calls_simpler
Making method calls_simpler
 

Similar a Expo 2 parametros

Abstract factory. presentación
Abstract factory. presentaciónAbstract factory. presentación
Abstract factory. presentación
avidal020
 
La unión del diseño estructural con el gráfico
La unión del diseño estructural con el gráficoLa unión del diseño estructural con el gráfico
La unión del diseño estructural con el gráfico
Josh Ojeda
 

Similar a Expo 2 parametros (20)

Fritzing-PrimerosPasos.pdf
Fritzing-PrimerosPasos.pdfFritzing-PrimerosPasos.pdf
Fritzing-PrimerosPasos.pdf
 
Fritzing primeros pasos
Fritzing primeros pasosFritzing primeros pasos
Fritzing primeros pasos
 
Fritzing primeros pasos
Fritzing primeros pasosFritzing primeros pasos
Fritzing primeros pasos
 
Abstract factory. presentación
Abstract factory. presentaciónAbstract factory. presentación
Abstract factory. presentación
 
Abstract factory. presentación
Abstract factory. presentaciónAbstract factory. presentación
Abstract factory. presentación
 
Builder - Design Pattern - GoF
Builder - Design Pattern - GoFBuilder - Design Pattern - GoF
Builder - Design Pattern - GoF
 
Patrones de Diseño de Software
Patrones de Diseño de SoftwarePatrones de Diseño de Software
Patrones de Diseño de Software
 
Tecnicas de diseño
Tecnicas de diseñoTecnicas de diseño
Tecnicas de diseño
 
Tecnologia de grupos a presentar
Tecnologia de grupos a presentarTecnologia de grupos a presentar
Tecnologia de grupos a presentar
 
Taller patrones de diseño
Taller patrones de  diseñoTaller patrones de  diseño
Taller patrones de diseño
 
Operadores poo
Operadores pooOperadores poo
Operadores poo
 
Abstract Factory -Design Pattern - GoF
Abstract Factory -Design Pattern - GoFAbstract Factory -Design Pattern - GoF
Abstract Factory -Design Pattern - GoF
 
Trabajo de programacion
Trabajo de programacionTrabajo de programacion
Trabajo de programacion
 
Cabde tutorial
Cabde tutorialCabde tutorial
Cabde tutorial
 
Patrones j2 ee
Patrones j2 eePatrones j2 ee
Patrones j2 ee
 
La unión del diseño estructural con el gráfico
La unión del diseño estructural con el gráficoLa unión del diseño estructural con el gráfico
La unión del diseño estructural con el gráfico
 
La unión del diseño estructural con el gráfico
 La unión del diseño estructural con el gráfico La unión del diseño estructural con el gráfico
La unión del diseño estructural con el gráfico
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Patrones de Diseño. (Design Patterns).pdf
Patrones de Diseño. (Design Patterns).pdfPatrones de Diseño. (Design Patterns).pdf
Patrones de Diseño. (Design Patterns).pdf
 
Patron de diseño builder
Patron de diseño builderPatron de diseño builder
Patron de diseño builder
 

Último

NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 
Mecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vaporMecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vapor
alema3825
 

Último (20)

Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
 
problemas consolidación Mecánica de suelos
problemas consolidación Mecánica de suelosproblemas consolidación Mecánica de suelos
problemas consolidación Mecánica de suelos
 
Instalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a pasoInstalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a paso
 
monografia sobre puentes 1234456785432o5
monografia sobre puentes 1234456785432o5monografia sobre puentes 1234456785432o5
monografia sobre puentes 1234456785432o5
 
DESVIACION
DESVIACION DESVIACION
DESVIACION
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
Deilybeth Alaña - Operaciones Básicas - Construcción
Deilybeth Alaña - Operaciones Básicas - ConstrucciónDeilybeth Alaña - Operaciones Básicas - Construcción
Deilybeth Alaña - Operaciones Básicas - Construcción
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Mecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vaporMecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vapor
 
Los vidrios eléctricos en un automóvil.pptx
Los vidrios eléctricos en un automóvil.pptxLos vidrios eléctricos en un automóvil.pptx
Los vidrios eléctricos en un automóvil.pptx
 
Tasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las CondesTasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las Condes
 
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworkingErgonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
Ergonomía_MÉTODO_ROSA. Evaluación de puesto de trabajo de oficina - coworking
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoPresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
 
Sistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdfSistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdf
 

Expo 2 parametros

  • 1. CHAPTER 6 CREATIONAL PATTERNS: ABSTRACT FACTORY AND BUILDER (FABRICACIÓN ABSTRACTA Y CONSTRUCCIÓN) JUAN PABLO LÓPEZ RESTREPO. UPB – 2017.
  • 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
  • 10. Implements Agregación Agregación Agregación 1 2 1. Agregación (Una hace parte de la otra) de Product con Builder • Implementación de Builder - IBuilder 2. Agregación de la implementación al Cliente y al Director 3. Proceso terminado = Construcción de Producto
  • 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