Content deleted Content added
m Task 18 (cosmetic): eval 8 templates: del empty params (5×); |
Updated the usage, criticisms, evolution section to remove “usage” from header, as there were no examples of usage in the real world described. Also added the criticism that hexagonal implies 6 concepts, but there is only 4, which is insanely confusing and needs to be acknowledged for anyone looking it up in the future. Tags: Mobile edit Mobile web edit |
||
Line 19:
[[Adapter pattern|Adapters]] are the glue between components and the outside world. They tailor the exchanges between the external world and the ports that represent the requirements of the inside of the application component. There can be several adapters for one port, for example if data can be provided by a user through a GUI or a command-line interface, by an automated data source, or by test scripts.
==
*Criticism
The term "hexagonal" implies that there are 6 parts to the concept, whereas there are only 4 key areas. The term’s usage comes from the graphical conventions that shows the application component like a [[Hexagon|hexagonal]] cell. The purpose was not to suggest that there would be six borders/ports, but to leave enough space to represent the different interfaces needed between the component and the external world.<ref name=":02">{{Cite web|last=Alistair|first=Cockburn|date=2005-04-01|title=Hexagonal architecture|url=https://alistair.cockburn.us/hexagonal-architecture/|access-date=2020-11-18|website=alistair.cockburn.us}}</ref>
According to [[Martin Fowler (software engineer)|Martin Fowler]], the hexagonal architecture has the benefit of using similarities between presentation layer and data source layer to create symmetric components made of a core surrounded by interfaces, but with the drawback of hiding the inherent asymmetry between a service provider and a service consumer that would better be represented as layers.<ref>{{Cite book|title=Patterns of enterprise application architecture|last=Fowler, Martin|date=2003|publisher=Addison-Wesley|isbn=0-321-12742-0|pages=21|oclc=50292267}}</ref>
*Evolution
According to some authors, the hexagonal architecture is at the origin of the [[microservices]] architecture.<ref>{{Cite book|title=Spring 5.0 microservices : build scalable microservices with Reactive Streams, Spring Boot, Docker, and Mesos|last=Rajesh R. V.|publisher=Packt Publishing|year=2017|isbn=978-1-78712-051-8|edition= Second|pages=13–14|oclc=999610958}}</ref>
*Criticism
== Variants ==
|