CLASE 1.2 PATRONES INTRODUCCION.pdf
Document Details
Uploaded by Deleted User
Tags
Full Transcript
PATRONES DE SOFTWARE ING. CARLOS PINEDA INTRODUCCION ORIGEN EN LA ARQUITECTURA. ES UN CONJUNTO DE FORMAS SURGEN A PARTIR DE LA ESTANDARIZADAS, PARA RESOLVER EXPERIENCIA DESARROLLADA. UN PROBLEMA PARTICULAR. COMPONENTE...
PATRONES DE SOFTWARE ING. CARLOS PINEDA INTRODUCCION ORIGEN EN LA ARQUITECTURA. ES UN CONJUNTO DE FORMAS SURGEN A PARTIR DE LA ESTANDARIZADAS, PARA RESOLVER EXPERIENCIA DESARROLLADA. UN PROBLEMA PARTICULAR. COMPONENTES DE UN PATRON descripción tienes que saber Como se llama general del también qué SOLUCION (NOMBRE) patrón problema resuelve (DESCRIPCION) (PROBLEMA) Estos cuatro datos son muy poco gracias porque te van a permitir saber el contexto en el cual el patrón sirve COMPONENTES DE UN PATRON Los patrones de alguna forma son flexibles para que tú puedas tomar las partes que más te sirven y modificarlas a lo que el problema te pide SISTEMAS DE PATRONES Generales y específicos: Hay patrones para aplicaciones de computación en la nube, hay patrones para aplicaciones empresariales, hay patrones para grandes volúmenes de datos. POSA : PATTERN ORIENTED SOFTWARE ARCHITECTURE Frank Buschmann - Libro que da origen a los patrones. CLASIFICACIONES Arquitectura Diseño Lenguaje - Idiomas ARQUITECTURA Los Patrones de arquitectura son los patrones de más alto nivel en nuestra aplicación y son los que determinan la estructura Los desarrolladores es que nunca pensamos en la estructura general de la aplicación, sino que nos lanzamos a escribir código o usamos un framework o una librería. El desarrollo de la arquitectura va destinada a distintas partes esto va también organizan su equipo de trabajo, va más allá de lo técnico, también involucra la organización del proyecto el liderazgo del equipo etcétera. ARQUITECTURA COMPONENTES: Son los que se encargan de poner las piezas claves para que la Debe cumplir entonces con las arquitectura sea una siguientes características realidadson los que van a tener van a tener clases, métodos, paquetes. Primero el conjunto de Segundo el rol y la Cohesión está relacionado operaciones debe estar bien responsabilidad componente con las operaciones en el definido tiene que ser claros es decir componente COHESIÓN Ejercicio Componente PACIENTE SEPARAR COMPONENTES Componente Componente PACIENTE E - MAIL Que tanto saben los Acoplamiento aferente si componentes acerca de tenemos un componente los otros componentes, central qué tanto los relaciones del otros componentes componente hacia otros dependen de él ACOPLAMIENTO Se busca alta cohesión Acoplamiento eferente bajo acoplamiento De que otros componentes depende ARQUITECTURA POR CAPAS Arquitectura más conocida - multi capas - n capas La hormiga y el pastel, para poder hacer una determinada capa tienes que pasar por las capas superiores necesarias. la arquitectura por capas es un patrón donde tenemos grupos de sub tareas, ejemplo tenemos una aplicación y esta aplicación por su naturaleza es posible separarla y esta separación en grupos o capas es lo que nos va a dar la estructura general. 1.Están organizados en capas horizontales Un componente es un conjunto de código que tienen una funcionalidad común. CARACTERÍSTICA 2..Cada capa tiene un rol y la responsabilidad única ARQUITECTURA dentro de la aplicación es decir la capa debe estar pensada para cumplir cierto propósito. POR CAPAS 3. Capas de alto nivel y capas de bajo nivel - De alto nivel significa que está mucho más cerca del cliente, o del usuario - Bajo nivel está mucho más cerca de operaciones por ejemplo leer escribir archivos acceder a un dispositivo externo 4. El patrón en ningún momento define cuántas capas son. RESUMEN ARQUITECTURA POR CAPAS Patrón que contiene grupos de subtareas Los componentes están organizados en capas horizontales Un componente es un conjunto de código que tiene una funcionalidad común Cada componente pertenece a una única capa RESUMEN ARQUITECTURA POR CAPAS Cada capa tiene un rol y una única responsabilidad en la aplicación es decir la capa debe estar pensada para cumplir ciertas tareas Ejemplo si la capa está pensada para ejecutas una aplicación de escritorio que interactúa con el usuario esa capa entonces no debería tener código SQL porque entonces ya tendrían más de una función. Debe tener Capas de alto nivel y Capas de bajo nivel - De alto nivel significa que está mucho más cerca del cliente, o del usuario - Bajo nivel está mucho más cerca de operaciones ejemplo leer - escribir archivos, acceder a un dispositivo externo En las aplicaciones por capas el patrón en ningún momento define cuántas capas son ni de qué tipo deben ser Esto depende del contexto y los requerimientos DISEÑO DE CAPAS Primero una capa superior tiene conocimiento de la capa inferior pero ha revés Segundo Cada capa tiene que crear una abstracción es decir de alguna forma oculta ciertos detalles de desarrollo. Los componentes en cada capa solo deben hacer tareas o funcionalidades relacionadas con la capa. Ejemplo si nosotros tenemos una capa de presentación en esta capa no deberían haber componentes que se conecten a la base de datos. DISEÑO DE CAPAS Existen dos tipos de capas Capas cerradas Capas abiertas DISEÑO DE 3 CAPAS CAPA DE PRESENTACION Maneja la interacción entre un cliente y la aplicación El cliente puede ser: Un ser humano una persona interactuando a través de una interfaz Un programa externo Responsabilidades: Encargada de entregar información del usuario Encargado de solicitársela todo eso por el fin de alimentar las capas inferiors. Ejemplos Una aplicación WEB Aplicación de escritorio Una apliocacion móvil Un servicio WEB Un API CAPA DE DOMINIO Es la que contiene la lógico Contiene el trabajo o las Normalmente, la capa de Ejemplos del negocio del sistema tareas para las cuales el dominio esconde el acceso a sistema están hecho datos. Cálculos basados en datos de entrada y datos almacenados. Validación de datos que vienen de la capa de presentación. Otros Nombres Capa de Negocio Capa de Lógica de negocio Capa de Lógica de Dominio CAPA DE ACCESO A DATOS Se comunica con bases de datos u otros sistemas de persistencia para obtener y guardar información De forma general se comunica con sistemas que realizan tareas en nombre de la aplicación. Otros Nombres: Capa de persistencia Capa de datos MULTIPLE CAPAS