Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2013, 01:40
Avatar de Albuss
Albuss
 
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Patrones de diseño : Abstract Factoy

Este tema va dirigido a la palabra propuesta de Aijoona, para plantear un patron de diseño concreto y diseccionarlo. cito :

Cita:
Iniciado por Aijoona Ver Mensaje
PD: Si queres, plantea un diseño y lo plasmamos a codigo, probablemente sea lo mejor para sacarte las dudas.
Después de unos días leyendo "gof design patterns", me veo resuelto para tomarle la palabra a Aijoona, empezando por un metodo Factory. Abstract Factory. expondré primero una síntesis propia de lo que hasta ahora he aprendido sobre patrones (espero que algunos usuarios lo encuentren didactico), para luego dar pie a Aijoona para que sea el quien considere como plasmar en código el patrón.


He estudiado el esquema por el cual se clasifican los patrones de diseño, ateniendo a propósitos y a un ámbito concreto ; el propósito nos responde a la pregunta ¿que hace exactamente un patrón de diseño?, mientras que el ámbito nos especifica si el patrón se aplica a clases o a instancias (objetos). Atendiendo al propósito, solamente citare la clasificación : de creación, puesto que vamos a exponer el abstract Factory.

Atendiendo al ámbito y situándonos en el propósito: de creación, el patrón de diseño Abstract Factory lo clasificamos dentro del ámbito de instancias (objetos). Es decir el patrón de diseño Abstract Factory es un patrón de creación de instancias.




Los patrones de creación abstraen (cuando hable de abstracción no estoy traduciendo, pero si lo hiciese quizás la palabra mas precisa seria"simplifican", que alguien me corrija si me equivoco) el proceso de creación de instancias, cumplen el cometido de mantener independiente la creación de instancias, la construcción de los objetos instanciados y de la representación de los mismos, asimismo un patrón de creación de instancias, delega la creación del objeto en otro objeto.


Abstract Factory:Cuando utilizarse :
  • Cuando un sistema debe de ser independiente de como se crean, componen y representan sus productos.
  • Cuando una familia de objetos producto relacionados esta diseñada para ser usada conjuntamente y es necesario hacer cumplir esta restricción.

Abstract Factory:Eslabones :
  • Fabrica Abstracta, declara la interfaz cuales metodos de dicha interfaz instanciar los objeto producto abstracto.
  • Fabrica Concreta, implementa los métodos para instanciar los objetos producto concreto.
  • Producto Abstracto, declara una interfaz para un tipo de objeto producto.
  • Producto Concreto, define un objeto producto para que sea creado por la fabrica correspondiente y implementa la interfaz de producto Abstracto.
  • Cliente, usa las interfaces declaradas por las clases Fabrica Abstracta y Producto Abstracto.