FACTORY METHOD Creación a nivel de clases.

Slides:



Advertisements
Presentaciones similares
FACTORY METHOD Edmundo Álvarez Jiménez Antonio Fernández Alonso
Advertisements

Patrones Creacionales
Lenguajes de Programación Tema 3
INGENIERIA DE SOFTWARE GUILLERMO OCHOA GAVIRIA Octubre 2006 Factory Method.
Patrones de Diseño Carolina Perozo Julio Padrón Anthony Accardi.
Tipos de aplicaciones en Visual Studio. Índice Introducción Introducción Aplicaciones instaladas Aplicaciones instaladas Aplicaciones Web Aplicaciones.
Patron ESTADO Por : Luis Alberto Silva. Descripción General Permite que un objeto modifique su comportamiento cada vez que cambia su estado interno. Parecera.
Principios de la Ingeniería de Software Principio s Metodologías Herramientas Técnicas Cada estrato se basa en los inferiores y es más susceptible a cambios.
1 Patrones de Diseño (...o bien, que tiene que ver la costura con el software...) Universidad de los Andes Demián Gutierrez Marzo 2010.
¿Qué es el theming? Es el proceso de generar html y css a partir de los datos de nuestra aplicación. El diseño de una aplicación web hecha con Drupal lo.
© Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Curso de introducción a Fundeweb.
Alexis Obregón Cogle Grado Asociado en Tecnología de Redes y Diseño de Aplicaciones.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
Geykel Raul Moreno Ceballos Sherpa Chairman & Chief Software Architect Adapter (Wrapper) Structural Pattern (Patrón Estructural)
Escuela Preparatoria Oficial Anexa a la Normal de Cuautitlán Izcalli Blog.
PROGRAMACIÓN 9 NO NIVEL B PATRONES DE DISEÑO. Son un esquema que definen una estructura para el desarrollo de aplicaciones Se usa con la finalidad de.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
1 LENGUAJES DE PROGRAMACIÓN. Son aplicaciones específicas diseñadas para crear otras aplicaciones o programas. Son programas para crear programas. 2.
Arquitectura y Patrones de diseño.
Guía de implementación
Clases y Objetos.
PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y Objetos.
GRUPO 15 SC FRAMEWORK LARAVEL
Polimorfismo subtipado
Herencia Implementación en Java.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Programación Avanzada
Métodos y parámetros.
Unidad 2: LAS ETAPAS DE LA SIMULACION NUMERICA. Tema: 2
Polimorfismo y Métodos Virtuales
gvSIG: Avanzando Juntos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
CONOCIMIENTOS LIBRES …
Métodos en Java.
Estructuras de Datos Recursividad.
Guía teórica de manejo de estructuras de datos
Introducción a programación web Martin Esses
Programación orientada a objetos
CRE ATU PAGINA WEB CON HTML
Patrones de Diseño Agustín J. González ElO329.
Patrones de Diseño Agustín J. González ElO329.
Agustín J. González ELO-329
Aplicaciones Web de Servidor
Programación Orientada a Objetos I Unidad 4 Relaciones entre clases: herencia.
La importancia de las copias de seguridad en dispositivos móviles
METODOLOGIA DEL DESARROLLO DE SISTEMAS
Patrones de diseño Catálogo
PREZI..
PREZI.
Patrones de diseño Introducción.
Crea videos animados con Animaker
Patrones de diseño: Prototype
Qué son y características generales
Especificación de requerimientos por: Sonia Cristina Gamboa Sarmiento
INGENIERIA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD TECNOLÓGICA EMILIANO ZAPATA
APLICACIONES II ° Patrones De Diseño ° Esteban Omar Mora Delgado
Java – programación orientada a objetos programación ii – iee
Analisis y Diseño de Sistemas
Patrón de diseño: Factory Method
Crear y comunicar la visión
Autor: Rafael Monterroza Barrios
¿Qué no somos? “No se sabe lo que algo es si no se pueden presentar instancias de lo que no es” J.H. Klausmeier.
Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una.
MC Beatriz Beltrán Martínez Verano 2018
Características Objeto Relacionales en Oracle
DISEÑO DE SOFTWARE 1ª. Parte
CC 1002: Introducción a la Programación Clase 19
Dirección estratégica
Transcripción de la presentación:

FACTORY METHOD Creación a nivel de clases

Intención Crear marcos de referencia apropiados para las aplicaciones en los que se mantengan adecuadas relaciones entre objetos. El llamado “Factory Method” o “Virtual Builder”, es un patrón de diseño que define una interfaz para crear un objeto, pero dejando que las subclases de este decidan qué clase de objeto se va a instanciar. El Factory Method hace que una clase deje la creación de objetos a sus subclases.

Motivación *En un marco de trabajo de aplicaciones de documentos se debe poder presentar distintos tipos de documentos. *El marco de trabajo maneja dos abstracciones: -Documento: los distintos tipos se definen como subclases -Aplicación: sabe cuándo crear un documento, pero no su tipo.

Aplicabilidad -Cuando una clase no puede anticipar la clase de objetos que va a crear. -Cuando una clase quiere que sus subclases especifiquen el tipo de objetos que crean.

Participantes 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, el cual devuelve un objeto del tipo Producto. También puede definir una implementación predeterminada del método de fabricación que devuelve un objeto ProductoConcreto. Puede llamar al método de fabricación para crear un objeto Producto. CreadorConcreto: Redefine el método de fabricación para devolver una instancia de ProductoConcreto.

Consecuencias (Positivas) -El Factory Method elimina la necesidad de ligar clases específicas al código, dejando que este solo lidie con la interfaz del producto. Entonces puede trabajar con cualquier clase de ProductoConcreto que se defina. -Crear un objeto con un FactoryMethod siempre es más flexible que crearlo directamente. Brinda a las subclases la capacidad de crear versiones extendidas de un objeto.

“Crea objetos con una operación distinta, así las subclases pueden cambiar la forma en que son creados” Esto asegura que los diseñadores de las subclases pueden cambiar la clase de objetos que se crean.

Consecuencias (Negativas) Una desventaja potencial es que se tendrá que hacer de la clase Creadora una subclase solo para crear un particular ProductoConcreto. Se tiene que lidiar con una clase más de abstracción. Uno de los principales inconvenientes que puede presentar este patrón es que puede requerir crear una nueva clase simplemente para cambiar la clase de Producto.

Implementación Existen de dos tipos: Cuando la clase Creadora es abstracta: Necesita que las subclases redefinen una implementación para el método. Resuelve el problema de instanciar clases que aún son desconocidas. Cuando la clase Creadora no es abstracta: Es una clase concreta y define una implementación default para el Factory Method. En este caso este método se usa principalmente para dar flexibilidad.

if tuyo return TuProducto Factory Method parametrizado: Una variación de este patrón es en la cual este método puede crear distintos tipos de productos. Toma un parámetro para identificar el tipo de objeto que se quiere crear. Todos los objetos que el método cree compartirán la interfaz de Producto. if mio return MiProducto if tuyo return TuProducto

Usos Conocidos -Frameworks que soportan aplicaciones MDI -Creación de proxies en middlewares -JDK. Clase URLConnection

Patrones Relacionados * Abstract Factory. Se suele implementar con métodos fábrica. * Template Method. Los métodos fábrica se suelen invocar desde métodos plantilla.

https://sourcemaking.com/design_patterns/factory_method http://msdn.microsoft.com/es-es/library/bb972258.aspx http://www.javacamp.org/designPattern/factory.html https://sourcemaking.com/design_patterns/factory_method https://www.javaworld.com/article/2077386/learn-java/factory-methods.html GAMMA, Erich ,"Design Patterns. Elements of Reusable Object-Oriented Software",Addison-Wesley