UNIVERSIDAD TECNOLÓGICA EMILIANO ZAPATA

Slides:



Advertisements
Presentaciones similares
FACHADA COMPOSITOR MEMENTO
Advertisements

Adapter, Bridge, Decorator.
Patrones de diseño equipo n.1
Patrón de Diseño Brigde ( Handle/Body) Calderón Márquez Jorge Alberto Posgrado de Ciencia e Ingeniería en Computación. Tecnología Orientada a Objetos.
Introducción a la Ingeniería del Software 1 El Diseño de Software Caracteristicas: Proceso Creativo Requiere de experiencia e ingenio Necesita del aprendizaje.
Proyecto Aula Virtual. Conceptos El Aula Virtual es una plataforma versátil que proporciona herramientas que facilitan la docencia presencial/semipresencial/virtual.
INTEGRANTES EVARISTO MINA ARROYO JULIO CESAR CUERO JOHN EDWIN URBANO MAFLA.
Geykel Raul Moreno Ceballos Sherpa Chairman & Chief Software Architect Adapter (Wrapper) Structural Pattern (Patrón Estructural)
INFORMATICA II TEMA. ALGORITMOS MAESTRA PAULINA RUIZ SOSA.
UNIVERSIDAD NACIONAL ABIERTA DIRECCIÓN DE INVESTIGACIÓNES Y POSTGRADO ESPECIALIZACIÓN EN TELEMÁTICA E INFORMÁTICA EN EDUCACIÓN A DISTANCIA CENTRO LOCAL.
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.
Fases de la Gestión de Proyectos Existen diversos enfoques de la gestión de actividades del proyecto, incluyendo: agilidad, enfoque interactivo, incremental.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
1 LENGUAJES DE PROGRAMACIÓN. Son aplicaciones específicas diseñadas para crear otras aplicaciones o programas. Son programas para crear programas. 2.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
ORGANIZACIÓN DEL SISTEMA DE MANDO EN UNA EMERGENCIA
Universidad autónoma del estado de México
Portales colaborativos
Clases y Objetos.
PROGRAMACIÓN ORIENTADA A OBJETOS
Programación Avanzada
Tema 4: Ingeniería del Software
Polimorfismo subtipado
Módulo II Diseño Educativo con base en Objetos de Aprendizaje
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
2.Metodología de Solución de Problemas
Fundamentos de negocios y comercio electrónico.
Federico Rodriguez Bravo Ing. Jaime A. Pavlich-Mariscal Ph.D
PROGRAMACION ESTRUCTURADA.
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
Conectividad de Bases de Datos
En la siguiente presentación veremos algunos términos que debemos conocer para iniciar la educación virtual.
BASES DE DATOS con Libreoffice base
ENFOQUES DE CONSERVACIÓN
Patrones de Diseño Agustín J. González ElO329.
Patrones de Diseño Agustín J. González ElO329.
Ingeniería de Software Somerville
Tema 3. Lenguaje unificado de modelado UML
La planeación y la organización de problemas técnicos y el trabajo por proyectos en los procesos productivos.
FACTORY METHOD Creación a nivel de clases.
Patrones de diseño: Prototype
Autodesk Instituto Oviedo Computación Daniela Grajeda Moreno
Santana Mejía Andrea Michell Villarruel Miranda Alejandro Ernesto
Argumentos y contraargumentos
Desarrollo de infografías y aplicaciones gráficas en CANVA
Diagramas del modelo uml
Herramientas tecnológicas
Ingeniería del Software
Proceso Unificado de Desarrollo de Software
APLICACIONES II ° Patrones De Diseño ° Esteban Omar Mora Delgado
Diagrama de flujo.
Empresa: Software ABC Colombia
Java – programación orientada a objetos programación ii – iee
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
PROCESO UNIFICADO DE DESARROLLO R.U.P.
Física en videojuegos..
Equipo 2 Arellano Catalán Marco A. Damián Contreras Ma. Guadalupe
Desarrollo de sitios web
Analisis y Diseño de Sistemas
Patrón de diseño: Factory Method
SISTEMAS OPERATIVOS.
Class adapter.
Estrategias de Enseñanza
Instituto Tecnológico de Zacatecas
DISEÑO DE SOFTWARE 1ª. Parte
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Arquitectura de una aplicación
Diagrama de componentes
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Transcripción de la presentación:

UNIVERSIDAD TECNOLÓGICA EMILIANO ZAPATA PRESENTACIÓN DE PATRONES DE DISEÑO APLICACIONES II BAUTISTA TACUBA ANARELI ACTIVIDAD10

PATRONES DE DISEÑO Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.

Un patrón de diseño es una solución a un problema de diseño Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reusable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.

OBJETIVOS DE LOS PATRONES Proporcionar catálogos de elementos reusables en el diseño de sistemas software. Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados anteriormente. Formalizar un vocabulario común entre diseñadores. Estandarizar el modo en que se realiza el diseño. Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente.

Bridge. Desvincula una abstracción de su implementación, de manera que ambas puedan variar de forma independiente. .La herencia ata una implementación a la abstracción permanentemente, lo que hace la hace difícil de modificar, extender y rehusar la implementación y la abstracción independientemente. La respuesta a esta flexibilidad esta en utilizar el patrón de diseño bridge.

ESTRUCTURA

PARTICIPANTES Abstraction define una interface abstracta. Mantiene una referencia a un objeto de tipo Implementor. RefinedAbstraction extiende la interface definida por Abstraction Implementor define la interface para la implementación de clases. Esta interface no se tiene que corresponder exactamente con la interface de Abstraction; de hecho, las dos interfaces pueden ser bastante diferente. Típicamente la interface Implementor provee sólo operaciones primitivas, y Abstraction define operaciones de alto nivel basadas en estas primitivas. ConcreteImplementor implementa la interface de Implementor y define su implementación concreta.

Builder Separa la construcción de un objeto complejo de su representación, de forma que el mismo proceso de construcción pueda crear diferentes representaciones.

el patrón builder (Constructor) es usado para permitir la creación de una variedad de objetos complejos desde un objeto fuente (Producto), el objeto fuente se compone de una variedad de partes que contribuyen individualmente a la creación de cada objeto complejo a través de un conjunto de llamadas a interfaces comunes de la clase Abstract Builder.

A menudo, el patrón builder construye el patrón Composite, un patrón estructural. Intención: Abstrae el proceso de creación de un objeto complejo, centralizando dicho proceso en un único punto, de tal forma que el mismo proceso de construcción pueda crear representaciones diferentes.

diagrama

Prototype. Especifica los tipos de objetos a crear por medio de una instancia prototípica, y crear nuevos objetos copiando este prototipo.

Propósito El patrón de diseño Prototype (Prototipo), tiene como finalidad crear nuevos objetos duplicándolos, clonando una instancia creada previamente.

Solución Este patrón propone la creación de distintas variantes del objeto que nuestra aplicación necesite, en el momento y contexto adecuado. Toda la lógica necesaria para la decisión sobre el tipo de objetos que usará la aplicación en su ejecución debería localizarse aquí.

Luego, el código que utiliza estos objetos solicitará una copia del objeto que necesite. En este contexto, una copia significa otra instancia del objeto. El único requisito que debe cumplir este objeto es suministrar la prestación de clonarse. Cada uno de los objetos prototipo debe implementar el método Clone().

Esquema

Facade. Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema. Define una interfaz de alto nivel que hace que el subsistema se más fácil de usar.

Facade, façade o fachada es un patrón de diseño que sirve para proveer de una interfaz unificada sencilla que haga de intermediaria entre un cliente y una interfaz o grupo de interfaces más complejas.

Facade puede hacer una biblioteca de software más fácil de usar y entender, ya que facade implementa métodos convenientes para tareas comunes; hacer el código que usa la biblioteca más legible, por la misma razón; puede reducir la dependencia de código externo en los trabajos internos de una biblioteca, ya que la mayoría del código lo usa Facade, permitiendo así más flexibilidad en el desarrollo de sistemas; y puede envolver una colección mal diseñada de APIs con un solo API bien diseñado.

Problemas que soluciona Problema: Un cliente necesita acceder a parte de la funcionalidad de un sistema más complejo. Definir una interfaz que permita acceder solamente a esa funcionalidad. Problema: Existen grupos de tareas muy frecuentes para las que se puede crear código más sencillo y legible. Definir funcionalidad que agrupe estas tareas en funciones o métodos sencillos y claros.

Problema: Una biblioteca es difícilmente legible. Crear un intermediario más legible. Problema: Dependencia entre el código del cliente y la parte interna de una biblioteca. Crear un intermediario y realizar llamadas a la biblioteca sólo o, sobre todo, a través de él. Problema: Necesidad de acceder a un conjunto de APIs que pueden además tener un diseño no muy bueno. Crear una API intermedia, bien diseñada, que permita acceder a la funcionalidad de las demás. Cuidado: Facade debe utilizarse para crear clases sencillas, no clases que "sirvan para todo" o "lo hagan todo".

Problema: Necesidad de acceder a un conjunto de APIs que pueden además tener un diseño no muy bueno. Crear una API intermedia, bien diseñada, que permita acceder a la funcionalidad de las demás. Cuidado: Facade debe utilizarse para crear clases sencillas, no clases que "sirvan para todo" o "lo hagan todo".

ESQUEMA