Content deleted Content added
Whatisbetter (talk | contribs) No edit summary Tags: Mobile edit Mobile app edit Android app edit |
Cockburn's first and last name were reversed in the references. Fixed. |
||
Line 1:
{{Short description|Software design pattern}}
The '''hexagonal architecture''', or '''ports and adapters architecture''', is an architectural pattern used in [[software design]]. It aims at creating [[Loose coupling|loosely coupled]] application components that can be easily connected to their software environment by means of ports and [[Adapter pattern|adapters]]. This makes components exchangeable at any level and facilitates test automation.<ref name=":0">{{Cite web|url=https://alistair.cockburn.us/hexagonal-architecture/|title=Hexagonal architecture|last=
== Origin ==
Line 22:
== 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=
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>
|