Sei sulla pagina 1di 7

5/23/16

Patrones arquitectnicos
A un nivel de escala mayor que los patrones de
diseo
Dirigidos no solo a un componente, sino a la estructura gral.
Patrones Arquitectnicos del sistema
Es decir, inuencia la estructura fundamental del sistema
Ejemplos: capas, MVC, etc.
Un patrn arquitectnico es un esquema de
Israel Antezana R. organizacin estructural probado para sistemas
de soNware
Un conjunto de subsistemas predenidos y sus
responsabilidades
Reglas y guas para organizar las relaciones entre ellos

Patron: MVC Patrn: MVC


Divide una aplicacin interacRva en tres MlRples GUIs
componentes.
Modelo: datos y funcionalidad central El modelo es independiente del nmero y
Vistas: Despliegan la informacin al usuario clases de GUIs
Controladores: Manejan las entradas de los usuarios
La consistencia a travs de noRcacin
Usa el patrn de diseo: observer
Ejemplos:
Smalltalk
Web

1
5/23/16

Patrn Capas
Patrn: Capas
Una de las tcnicas ms comunes para
modularizar soNware.
Para aplicaciones que pueden descomponerse en
grupos de subtareas.
Ejemplo: Protocolos de Red
Cada grupo se encuentra en un nivel de ISO Open Layers
abstraccin parRcular Interconecta 7 capas
Cada capa provee servicio a la capa de nivel TCP/IP
superior
Los servicios en una capa son implementados
usando servicios de la capa de nivel inferior

Arquitectura Hexagonal
Capas en sistemas empresariales

Presentacin

Dominio

Datos
Por Alistair Cockburn
Pone a la logica de dominio como el centro de la aplicacin.
Y Permite que la aplicacin sea usada de igual forma por usuarios,
programas, pruebas automaRzadas, bases de datos, etc.
Adems de poder ser desarrollada de forma independiente, por ejemplo
de la base de datos

2
5/23/16

Arquitectura Hexagonal
Arquitectura Hexagonal Toda la lgica de la aplicacin esta denida como un API

Uno de los problemas que trata de resolver es


el de tener lgica de negocio en la capa de
presentacin o interfaz de usuario. Ya que
esto genera:
Dicultad para testear la aplicacin
Dicultad en aadir ms interfaces adicionales a
las dirigidas a humanos, por ejm: API
Toda la lgica de la aplicacin esta denida
como un API

Organizando la lgica de la aplicacin TransacRon Script


Segn Fowler, Paderns of enterprise
aplicaRon architecture:

Vemos a la aplicacin como una series de


TransacRon Script transacciones
Modelo de Dominio Organiza la lgica de negocio (dominio) en
procedimientos
Table Module
Cada procedimiento se encarga de manejar una
solicitud de la capa de presentacin
Usualmente el procedimiento hace llamadas directas a
la base de datos, incluyendo SQL o a travs de
pequeos adaptadores

3
5/23/16

Modelo de Dominio (domain model)


TransacRon Script
Una ventaja es su simplicidad. Especialmente
para aplicaciones con poca logica de negocio
Cuando la lgica de negocio es ms
complicada, su mantenimiento es ms
complejo
Duplicacin entre transacciones

Un modelo de objetos del dominio que incorpora


comportamiento y datos
Para contextos en los que la logica de negocio se complica

Modelo de dominio Table Module


Puede parecer similar a un modelo de base de
datos, pero Rene tambin muchas diferencias:
Combina datos y comportamiento
Herencia, polimorsmo,
Estrategias y patrones de diseo (GOF)
Una red de pequeos objetos interconectados
Es bueno para logica de negocio complicada,
pero se necesita una estrategia para mapear a
la base de datos.
AcRve Record (para modelos simples)
Una sola instancia que maneja la lgica de
Data Mapper negocio para todas las las de una tabla de base
Repository de datos

4
5/23/16

Capa de Servicios (Service Layer)


Table Module
Puede verse similar a un modelo de dominio,
la diferencia esta en que un modelo de
dominio Rene una instancia para la de una
bd. En table module se Rene una sola
instancia para toda la tabla.
Un Table module usualmente trabaja con
RecordSets
Es como un intermedio entre TransacRon
Script y Domain Model
Dene los limites de la aplicacin con una capa de servicios
que establece un conjunto de operaciones disponibles y
coordina la respuesta de la aplicacin en cada operacin

Capa de servicios Patrones para la capa de datos


Usualmente se usa en Domain Model o Table Table Data Gateway
Module ya que una capa de dominio que usa Row Data Gateway
TransacRon Script no es tan compleja como AcRve Record
para necesitar esta capa.
Data Mapper
Dene el API de la aplicacin

5
5/23/16

Table Data Gateway Row Table Gateway


Un objeto que acta como una pasarela para
un registro de una fuente de datos

Un objeto que acta como una pasarela a una


tabla de base de datos.
Una instancia maneja todas las las en la tabla

AcRve Record Data Mapper


Una capa de mapeadores (mappers) que
Un objeto que conRene un registro (la) de
mueven datos entre objetos y base de datos a
una tabla de una base de datos, encapsula el
la vez que los manRene independientes de
acceso a datos y el comportamiento de lgica
cada uno
de negocio sobre esos datos

6
5/23/16

Resumen
Patrones Arquitectnicos
Capas
MVC
Hexagonal
Broker, Pipes and lters, etc.
Patrones para la lgica de negocio
Patrones para el acceso a datos

Potrebbero piacerti anche