Hexagonal architecture (software): Difference between revisions

Content deleted Content added
Cth027 (talk | contribs)
m Origin: link
Cth027 (talk | contribs)
m Principle: minor editing
Line 7:
 
== Principle ==
The hexagonal architecture divides a system into several loosely-coupled interchangeable components, such as the application core, the database, the user interface, test scripts and interfaces with other systems.  This approach is an alternative to the traditional layered architecture.
 
Each component is connected to the others through a number of exposed "ports".  Communication through these ports follow a given protocol depending on their purpose.  Ports and protocols define an abstract API that can be implemented by any suitable technical means (e.g. [[method invocation]] in an [[Object-oriented programming|object oriented language]],  [[Remote procedure call|remote procedure calls]], or [[Web service|web-services]]).  
 
The granularity of the ports and there number is freenot constrainted:
 
* a single port could in some case be sufficient (e.g. in the case of a simple service consumer) ;
Line 33:
* [[Architectural pattern|Architecture patterns]]
* [[Layer (object-oriented design)]]
*[[Composite structure diagram]]
* [[Object-oriented analysis and design|Object oriented Analysis and design]]