
Hexagonal architecture - ingve
http://alistair.cockburn.us/Hexagonal+architecture
======
Kristine1975
The site seems to be down at the moment, but it's not about the use of
hexagons in buildings (as I thought), but about a software design pattern. To
quote:

 _Intent: Allow an application to equally be driven by users, programs,
automated test or batch scripts, and to be developed and tested in isolation
from its eventual run-time devices and databases._

Alternate description of the pattern plus comments:
[http://c2.com/cgi/wiki?HexagonalArchitecture](http://c2.com/cgi/wiki?HexagonalArchitecture)

~~~
Jtsummers
[http://fideloper.com/hexagonal-architecture](http://fideloper.com/hexagonal-
architecture)

Another page about it, also couldn't get to the linked article.

------
jerf
It's a neat architecture and I use at least the ideas of it all the time, but
the name has always struck me as weird, because as the author says [1] it's
just arbitrary. Seems like "port-based" or "microkernal-like" or something
would be better.

[1]: [http://fideloper.com/hexagonal-
architecture](http://fideloper.com/hexagonal-architecture) , see "Why A
Hexagon"

~~~
jerf
Probably too late for anyone to see this, but I like "archipelago
programming"; a whole bunch of islands of individual functionality tied
together by clear message-passing boat lines.

------
zenogais
Huge fan of this architecture, and have implemented several successful systems
using ideas from this and Robert Martin's Clean Architecture. A subscription
service, a payment processing service, and simple service that allowed
soundcloud users to trade follows for free downloads. In the beginning it
starts out feeling over-engineered, but the flexibility gained in the medium
to long term quickly makes up for this.

------
programminggeek
I did work on an architecture that borrowed from hexagonal architecture and
Robert Martin's clean architecture. I called it Obvious
[http://retromocha.com/obvious/](http://retromocha.com/obvious/)

------
jrochkind1
The ideas sound nice, but whenever I've seen actual code that says it's been
based on hexagonal architecture.... it's been an over-engineered difficult-to-
work-with mess.

------
noir_lord
Yeah this was a thing in the laravel community last year when the leaders went
through their PoEA phase.

It's largely passed now and CQRS has as well, its fun to watch though.

~~~
whitten
What is the laravel community? Why does the hexagonal architecture
specifically play to their needs ?

My (small) research on hexagonal architecture looks like devices are accessed
through generalized mechanisms and input/output is accessed through
generalized mechanisms so the code is agnostic about certain kinds of
implementation details.

------
azurelogic
This was one of the first things that was shown to me at my first job. It
strengthened my tendency toward well-defined, modular architectures.

