Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Patrones de diseño de software, Apuntes de Arquitectura de ordenadores

Apuntes relacionados a los diferentes patrones de diseño. Los patrones son una forma literaria para resolver problemas de ingeniería del software, que tienen sus raíces en los patrones de la arquitectura.

Tipo: Apuntes

2019/2020

Subido el 28/05/2020

SeniorHollister
SeniorHollister 🇲🇽

4.6

(7)

9 documentos

1 / 10

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
ARQUITECTURA DE SOFTWARE
Patrones de diseño de Software
ANTONIO ALEJANDRO SANCHEZ ZAPATA
G18320021
PROFESOR: M.I.D.S. ALMA DELIA DE JESÚS ISLAO
FECHA DE ENTREGA: 9 DE ABRIL DE 2019
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Patrones de diseño de software y más Apuntes en PDF de Arquitectura de ordenadores solo en Docsity!

ARQUITECTURA DE SOFTWARE

Patrones de diseño de Software

ANTONIO ALEJANDRO SANCHEZ ZAPATA

G

PROFESOR: M.I.D.S. ALMA DELIA DE JESÚS ISLAO

FECHA DE ENTREGA: 9 DE ABRIL DE 2019

Índice de Contenido

  • ¿Qué es un patrón de diseño?............................................................................................................
    • Patrones de diseño GRASP.............................................................................................................
      • Patrones básicos de asignación de responsabilidades................................................................
    • Patrones de diseño GoF..................................................................................................................
    • Patrón de arquitectura MVC..........................................................................................................
    • Clasificación de los Patrones de diseño..........................................................................................
  • Bibliografías......................................................................................................................................

Esta sección contiene unas pocas frases describiendo el patrón. El objetivo aporta la esencia de la solución que es proporcionada por el patrón. El objetivo está dirigido a programadores con experiencia que pueden reconocer el patrón como uno que ellos ya conocen, pero para el cual ellos no le han dado un nombre. Después de reconocer el patrón por su nombre y objetivo, esto podría ser suficiente para comprender el resto de la descripción del patrón.

  1. Contexto La sección de Contexto describe el problema que el patrón soluciona. Este problema suele ser introducido en términos de un ejemplo concreto. Después de presentar el problema en el ejemplo, la sección de Contexto sugiere una solución de diseño a ese problema.
  2. Aplicabilidad La sección Aplicabilidad resume las consideraciones que guían a la solución general presentada en la sección Solución. En que situaciones es aplicable elpatrón.
  3. Solución La sección Solución es el núcleo del patrón. Se describe una solución general al problema que el patrón soluciona. Esta descripción puede incluir, diagramas y texto que identifique la estructura del patrón, sus participantes y sus colaboraciones para mostrar cómo se soluciona el problema. Debe describir tanto la estructura dinámica como el comportamiento estático.
  4. Consecuencias La sección Consecuencias explica las implicaciones, buenas y malas, del uso de la solución.
  5. Implementación

La sección de Implementación describe las consideraciones importantes que se han de tener en cuenta cuando se codifica la solución. También puede contener algunas variaciones o simplificaciones de la solución.

  1. Usos en el API de Java Cuando hay un ejemplo apropiado del patrón en el núcleo del API de Java es comentado en esta sección. Los patrones que no se utilizan en el núcleo del API de Java no contienen esta sección.
  2. Código del ejemplo Esta sección contiene el código del ejemplo que enseña una muestra de la implementación para un diseño que utiliza el patrón. En la mayoría de estos casos, este será el diseño descrito en la sección de Contexto.
  3. Patrones relacionados Esta sección contiene una lista de los patrones que están relacionados con el patrón que se describe. Existen diferentes patrones de diseño de software, de los cuales se mencionan los siguientes.

Patrones de diseño GRASP

Los patrones GRASP representan los principios básicos de la asignación de responsabilidades a objetos, expresados en forma de patrones. GRASP es el acrónimo para General Responsibility Assignment Software Patterns (Patrones Generales de Software para Asignar Responsabilidades).

Patrón de arquitectura MVC

El patrón de arquitectura MVC, conocido por sus siglas en inglés Model View Controller, que significa Modelo Vista Controlador, permite realizar la programación multicapa, separando en tres componentes distintos los datos de una aplicación, la interfaz del usuario y la lógica de control. Este patrón se ve usualmente en aplicaciones web, donde la vista es la página Html y el código que provee de datos dinámicos a la página, el modelo es el sistema de gestión de base de datos y el controlador representa la lógica del negocio, que está formado por tres niveles:  Modelo: representa la información con la que trabaja la aplicación, o sea, su lógica de negocio.  Vista: convierte el modelo en una página web que facilita al usuario interactuar con ella.  Controlador: es el encargado de procesar las interacciones del usuario y ejecuta los cambios adecuados en el modelo o en la vista. La arquitectura MVC separa la lógica de negocio (el modelo) y la presentación (la vista), lo que permite un mantenimiento más sencillo de las aplicaciones. El controlador es el encargado de aislar al modelo y a la vista de los detalles del protocolo usado para las peticiones (HTTP, consola de comandos, email, etc.). El modelo se encarga de la abstracción de la lógica referida a los datos, lo que permite que la vista y las acciones sean independientes de, por ejemplo, el tipo de gestor de bases de datos que la aplicación utiliza.

Clasificación de los Patrones de diseño

Dado que hay muchos patrones de diseño necesitamos un modo de organizarlos. En esta sección clasificamos los patrones de diseño de tal forma que podamos referirnos a familias de patrones relacionados. La clasificación nos ayuda a saber lo que hace un patrón. Según el libro “Patterns in Java (Volume 1)” existen seis categorías:

 PATRONES DE DISEÑO FUNDAMENTALES

Los patrones de esta categoría son los más fundamentales e importantes patrones de diseño conocidos. Estos patrones son utilizados extensivamente en otros patrones de diseño.  PATRONES DE CREACIÓN Los patrones de creación muestran la guía de cómo crear objetos cuando sus creaciones requieren tomar decisiones. Estas decisiones normalmente serán resueltas dinámicamente decidiendo que clases instanciar o sobre que objetos un objeto delegará responsabilidades. La valía de los patrones de creación nos dice como estructurar y encapsular estas decisiones. A menudo hay varios patrones de creación que puedes aplicar en una situación. Algunas veces se pueden combinar múltiples patrones ventajosamente. En otros casos se debe elegir entre los patrones que compiten. Por estas razones es importante conocer los seis patrones descritos en esta categoría.  PATRONES DE PARTICIÓN En la etapa de análisis, se examina problema para identificar los actores, casos de uso, requerimientos y las relaciones que constituyen el problema. Los patrones de esta categoría proveen la guía sobre como dividir actores complejos y casos de uso en múltiples clases.  PATRONES ESTRUCTURALES Los patrones de esta categoría describen las formas comunes en que diferentes tipos de objetos pueden ser organizados para trabajar unos con otros.

Bibliografías

https://www.ecured.cu/Patr%C3%B3n_de_dise%C3%B1o_de_software https://es.slideshare.net/ikercanarias/patrones-de-diseo-de-software- https://www.ecured.cu/Patrones_de_dise%C3%B1o_y_arquitectura Martínez, Fco. Guía de construcción de software en Java con patrones de diseño. Escuela Universitaria de Ingeniería Técnica en Informática de Oviedo