SlideShare una empresa de Scribd logo
1 de 12
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

INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
evercoyla
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
EdwinC23
 

Último (20)

“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Libro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdfLibro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdf
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 

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