domingo, 10 de junio de 2018

Metodo de Fabrica

MÉTODOS DE FABRICA 
Debemos definir claramente qué es una factoría o fábrica. De la misma forma que sucede con muchos conceptos en la Ingeniería del Software, existen varias definiciones para este término, por tanto, es fundamental clarificar este concepto para sentar las bases de nuestro estudio posterior.
El término factory (o fábrica) adolece de ser sobre utilizado e impreciso. Mucha gente se refiere a factory para indicar una implementación de Factory Method o de Abstract Factory (patrones definidos en el libro del GoF). Otros sin embargo, se refieren a un objeto que crea instancias de otros, aunque no sigue las reglas de los patrones mencionados anteriormente.
Los Patrones permiten establecer un vocabulario común de diseño, cambiando el nivel de abstracción a colaboraciones entre clases y permitiendo comunicar experiencia sobre dichos problemas y soluciones. Son también un gran mecanismo de comunicación para transmitir la experiencia de los ingenieros y diseñadores experimentados a los más nóveles, convirtiéndose en unas de las vías para la gestión del conocimiento.
Define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan qué clase instanciar, permite que una clase delegue en sus subclases la creación de objetos.
El patrón de diseño FACTORY MOTHOD consiste en definir una interfaz para crear objetos de tipo genérico permitiendo a las subclases decidir qué tipo de objetos concreto crear.
En diseño de software, el patrón de diseño Factory Method consiste en utilizar una clase constructora (al estilo del Abstract Factory) abstracta con unos cuantos métodos definidos y otro(s) abstracto(s): el dedicado a la construcción de objetos de un subtipo de un tipo determinado. Es una simplificación del Abstract Factory, en la que la clase abstracta tiene métodos concretos que usan algunos de los abstractos; según usemos una u otra hija de esta clase abstracta, tendremos uno u otro comportamiento.
Factory Method es un patrón de creación de objetos y normalmente lo suelo usar para solucionar el problema que se presenta cuando tenemos que crear la instancia de un objeto pero a priori no sabemos aún que tipo de objeto tiene que ser, generalmente, porque depende de alguna opción que seleccione el usuario en la aplicación o porque depende de una configuración que se hace en tiempo de despliegue de la aplicación.
Este patrón está compuesto por:
 Product: Define la interfaz de los objetos que de van a crear.
 ConcreteProduct: Implementación de la interfaz.
 Creator: Declara la factoría y devuelve un objeto del tipo producto. También puede definir una implementación por defecto para la factoría que devolvería un objeto ConcreteProduct por defecto.
 ConcreteCreator: Sobrescribe el método de la factoría para devolver una instancia concreta de un objeto ConcreteProduct.

Video

No hay comentarios.:

Publicar un comentario