Patrones Creacionales
Click here to load reader
-
Upload
fausto-loja-mora -
Category
Business
-
view
8.595 -
download
0
description
Transcript of Patrones Creacionales
Fausto Loja Mora
Abstraen el proceso de instanciación. Hacen al sistema independiente de las
creaciones de objetos. Encapsulan conocimientos sobre clases
concretas usadas por el sistema. Ocultan la forma en que se crean y ponen en
contacto las instancias. No son siempre excluyentes: a veces
complementarios.
Proporciona una interfaz para crear familias de objetos relacionados o que dependen entre sí, sin especificar sus clases concretas.
Se usa cuando se quiere retornar una de varia clases de objetos relacionados, cada uno de los cuales puede retornar varios diferentes objetos.
Fabrica Abstracta: Declara una interfaz para operaciones que crean objetos de producto abstracto
FabricaConcreta: Implementa las operaciones para crear objetos producto concreto
ProductoAbstracto: Declara una interfaz para un tipo de objeto producto
ProductoConcreto: Define un objeto producto para que sea creado por la fabrica correspondiente
Cliente: Usa las interfaces de FabricaAbstracta y ProductoAbstracto
Builder interfaz abstracta para crear productos.
Concrete Builder implementación del Builder construye y reúne las partes necesarias para
construir los productos Director
construye un objeto usando el patrón Builder Producto
El objeto complejo bajo construcción
Separa la construcción de un objeto de su representación, de forma que el mismo proceso de construcción pueda crear diferentes representaciones
Define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan que clase instanciar. Permite que una clase delegue en sus subclases la creación de objetos
Producto: Define la interfaz de los objetos que crea el método de fabricación
ProductoConcreto: Implementa la interfaz producto
Creador: Declara el método de fabricación Creador Concreto: Redefine el método de
fabricación para devolver una instancia de un ProductoConcreto
El patrón de diseño singleton (instancia única) está diseñado para restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto.
Su intención consiste en garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.