PATRONES DE DISEÑO

Definiciones


Patrón de diseño: es una estructura de código ya definida y aplicable a un sin numero de procesos su objetivo es ubicar al usuario en el contenido y no en el diseño de la plantilla una de las características fundamentales es que el código es re-utilizable; comprada la plantilla, se adquiere la propiedad intelectual de la misma.




Categorías de patrones

Según la escala o nivel de abstracción:
  • Patrones de arquitectura: Aquéllos que expresan un esquema organizativo estructural fundamental para sistemas de software.
  • Patrones de diseño: Aquéllos que expresan esquemas para definir estructuras de diseño (o sus relaciones) con las que construir sistemas de software.
  • Dialectos: Patrones de bajo nivel específicos para un lenguaje de programación o entorno concreto.
Además, también es importante reseñar el concepto de "antipatrón de diseño", que con forma semejante a la de un patrón, intenta prevenir contra errores comunes de diseño en el software. La idea de los antipatrones es dar a conocer los problemas que acarrean ciertos diseños muy frecuentes, para intentar evitar que diferentes sistemas acaben una y otra vez en el mismo callejón sin salida por haber cometido los mismos errores.
Además de los patrones ya vistos actualmente existen otros patrones como el siguiente:
  • Interacción: Son patrones que nos permiten el diseño de interfaces web.


PATRON ORIENTADO A OBJETOS (analisis y diseño orientado a objetos)

Las tareas de este patron son: identificacion de casos de uso, definicion del modelo conceptual, especificacion del diagrama de secuencia, definicion de clases.

IDENTIFICACION DE CASOS DE USO: describe una funcionalidad del sistema que se va a desarrollar

EJEMPLO: 
 “Registrarse”


Un usuario anónimo aportara los datos requeridos por el sistema para completar los campos necesarios de la base de datos.

iteracion-2-2
MODELO CONCEPTUAL: Abarca las abstracciones del mundo real en términos de clase y objetos

En este vídeo encontramos un ejemplo practico sobre el modelo conceptual.



DIAGRAMA DE SECUENCIA En un diagrama de secuencia ponemos varios de los objetos o clases que forman parte de nuestro programa y ponemos qué llamadas van haciendo unos a otros para realizar una tarea determinada.

EJEMPLO este ejemplo nos ilustra una partida de ajedrez

Diagrama de Secuencia


PATRÓN DE DISEÑO VISTA CONTROL

este diseño contiene 3 componentes (capas de desarrollo)
1. CAPA VISTA: interfaz del usuario La capa vista será la que permita al usuario interaccionar con la aplicación, por lo que se podría tratar tanto de un sistema por comandos, un entorno de ventanas, una aplicación web, un entorno de una PDA, etc

2. CAPA LÓGICA: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa lógica porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de vista, para recibir las solicitudes y presentar los resultados, y con la capa de almacenamiento, para solicitar al gestor de base de datos almacenar o recuperar datos de él. También se consideran aquí los programas de aplicación.

3. CAPA DE ALMACENAMIENTO: es donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa lógica.

ejemplo de interfaz