Hexagonal architecture (software): Difference between revisions

Content deleted Content added
m clean up spacing around commas and other punctuation fixes, replaced: ; → ;
Zoltar0 (talk | contribs)
Origin: Updated history to quote original sources, and added reference to Cockburns' latest book on the subject
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]],. and publishedIt inwas discussed at first on the [[Portland Pattern Repository]] wiki 2005.<ref>{{Cite web|url=https://wwwwiki.infoqc2.com/news/2014/10/exploring-hexagonal-architecture/?HexagonalArchitecture|title=ExploringHexagonal Architecture in the HexagonalC2 ArchitectureWiki}}</ref><ref>{{Cite web|lasturl=Stenberghttps://wiki.c2.com/?PortsAndAdaptersArchitecture|firsttitle=Jan|date=2014-10-31|website=InfoQ|access-date=2019-08-12Ports And Adapters Architecture in the C2 Wiki}}</ref>; in 2005 Cockburn renamed it "Ports and adapters" <ref name="Original article">{{Cite web|url=https://alistair.cockburn.us/hexagonal-architecture/|title=Ports and Adapters Architecture
-- Original article}}</ref>. In April 2004, 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=":0"Original article"></ref>
 
== Principle ==