Hexagonal Programming

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Primary/Driving Adapters Explicit Architecture Secondary/Driven Adapters

Message Message Queue


C/Q BUS
Bus Queue (ie. RabbitMQ)
HTTP
UI llers Command Event
Adapter
Message Queue
i n G ntro BUS Queue Adapter
m o Query BUS
Ad & C Adapter
s Event BUS
w
Platform managers Vie Adapter
... Ports
CQ
B
<I us
ies >
er EB SMS
Qu <I us Server
Application Layer >

ers
SMS

Con PI
troll
App. Services Adapter

A
3rd party apps

Ev

Not <I>
ds
mobile apps Web server

en
lers
man
Domain Services

ifica
tL
message queues
Mailing

and

iste
microservices

Com
Server

tio
Email

H
... Domain Layer

ne

ns
Adapter

C/Q

rs
End-users Domain
Component
Cons ontrollers
consumers Model

Serv

rch
<I>
<I> s
GUI

...

Sea
ice
umer

Search Engine
&C

(ie. Elasticsearch)
Search
Views

Adapter
> e
rd
s <I tenc
nw
a
rsis
Technical users i Pe
cron jobs CLI go MySQL
s
... cie Application Core Adapter PRD DB
d en
en (ie. MySQL)
D ep
ORM
m e
ds
m sol
an

ORM
Co on

Adapter
C

SQLite TST DB
Adapter (ie. SQLite)
However: User Interface Infrastructure
- The map is not the territory. Secondary adapters wrap around a tool
- Plans are worthless, but planning is everything. Primary adapters wrap around a and adapt its input/output to a port, which
- Understand all of this, but use only what you need. use case and adapt its input/output fits the application core needs and can
- The actual architecture is driven by the project requirements. to a delivery mechanism, ie. simply be an interface or a complex set of
HTTP/HTML, HTTP/JSON or CLI. interfaces and objects. www.herbertograca.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy