Hexagonal architecture (software): Difference between revisions

Content deleted Content added
Zoltar0 (talk | contribs)
Zoltar0 (talk | contribs)
mNo edit summary
Line 3:
 
== Origin ==
The hexagonal architecture was invented by [[Alistair Cockburn]] in an attempt to avoid known structural pitfalls in [[Object-oriented analysis and design|object-oriented software design]], such as undesired dependencies between [[Layer (object-oriented design)|layers]] and contamination of [[user interface]] code with [[business logic]]. It was discussed at first on the [[Portland Pattern Repository]] wiki <ref>{{Cite web|url=https://wiki.c2.com/?HexagonalArchitecture|title=Hexagonal Architecture in the C2 Wiki}}</ref><ref>{{Cite web|url=https://wiki.c2.com/?PortsAndAdaptersArchitecture|title=Ports And Adapters Architecture in the C2 Wiki}}</ref>; in 2005 Cockburn renamed it "Ports and adapters" <ref name="Original article:0">{{Cite web|url=https://alistair.cockburn.us/hexagonal-architecture/|title=Ports and Adapters Architecture -- Original article}}</ref>. In April 2024, Cockburn published a comprehensive book on the subject<ref>{{Cite web|url=https://store7710079.company.site/Hexagonal-Architecture-Explained-p655931616|title=Hexagonal Architecture Explained}}</ref>.
 
The term "hexagonal" comes from the graphical conventions that shows the application component like a [[hexagon]]al 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="Original article:0"></ref>
 
== Principle ==