Está en la página 1de 24

Patrones de Arquitectura

Curso Profesional de
Arquitectura de Software - Platzi
Monolíticos Distribuidos
Gran Bola de Lodo / Big Ball of Mud
Modelo
Modelo
Modelo Vista
Vista
VistaControlador / /Model
Modelo-de-Vista
Presentador /
ModelView
Model
ViewController
View ViewModel
Presenter
Flux / Flux

Vista Modelo

Acción del
usuario
GET
https://mi.sitio/cart
Router

Cart
Cart View
Controller

Cart
Capas / Layered

Aplicación
Controller
Dominio

Service Entity
Datos

Repository
Capas / Layered

Aplicación
Cart
Controller
Dominio

Cart Service Cart


Datos

Cart
Repository
Orientado a Eventos / Event-Driven

Componente A Componente B

Bus de eventos
Componente C Componente D

Componente E Componente F
Orientado a Eventos / Event-Driven

Módulo de
ventas
API de ingreso

Bus de eventos
de eventos
Módulo de
reportes
Procesos de
importación
Módulo de
clientes
Provisión de Eventos / EventSourcing

Evento 1

Evento 2

Evento 3
Lectura secuencial

Evento 4

Evento 5

...

Evento N Estado actual

Evento N+1 Escritura


Provisión de Eventos / EventSourcing

Depósito: $100

Depósito: $200

Extracción: $100
Lectura secuencial

Transferencia in: $500

Extracción: $200

Depósito: $100

Transferencia: out $200 Estado actual

Extracción: $1000 Escritura


Microkernel - Plug-ins

Plug-in A Plug-in D

Plug-in B Kernel / Core Plug-in E

Plug-in C Plug-in F
Microkernel - Plug-ins

Lenguaje: Lenguaje:
Scala JavaScript

Integración: Lenguaje:
Gradle
Eclipse IDE SASS

Integración: Integración:
Git Docker
Comparte-nada / Shared-Nothing

Componente Componente Componente


Comparte-nada / Shared-Nothing

Proceso de Proceso de Proceso de


MapReduce MapReduce MapReduce

A-I J-O P-Z


Microservicios / Microservices

Cliente

ServicioAA
Servicio ServicioBB
Servicio ServicioCC
Servicio ServicioDD
Servicio
Microservicios / Microservices

Cliente

Servicio
ServiciodeA Servicio
ServiciodeB Servicio
ServiciodeC Servicio
ServiciodeD
usuarios productos pagos logística
Separación de Responsabilidades entre
Consultas y Comandos / CQRS

Modelo de
Comando
escritura

Modelo de
Consulta
lectura
Separación de Responsabilidades entre
Consultas y Comandos / CQRS

Cliente
Compra de Modelo de
producto escritura

Admin
Reporte de Modelo de
ventas lectura
Ada
dor p t
pta a dor
Ada
Ad a p
dor tador
pta
Ada
Pu
rto e r
Pue to
Hexagonal - Puertos y adaptadores

Aplicación
P u
rto e rt
Pue o
dap A
or d t
pta a dor
Ada
or d dap A
pta ta
Ada dor
Hexagonal - Puertos y adaptadores

L
HTM

SQL
os
T
RES

Mod
vici
Ser

elo
Aplicación
es

C
rt

o
epo

Loca
n
CSV

fig
R

l
AW
T
RES

S3 S
Diseño orientado al dominio - Domain-driven design

A E

B C C D F

Bounded Context A
Bounded Context B

I H

Bounded Context C
Diseño orientado al dominio - Domain-driven design

Ventas
Usuarios

Inventario
Combinando patrones de arquitectura

También podría gustarte