Branch: master
Find file History
pmatejko and npathai Hexagonal pattern fixes (#814)
* Fixed wrong else condition

* Simplified creating Set of numbers

* Deleted unused imports

* Replaced 'for' loop with 'foreach' one

* Replaced explicit type with diamond

* Removed unnecesary brackets from lambda

* Removed unnecesary contains check before adding element to Set

* Fixed typo and changed non-english constant names
Latest commit 4446e74 Oct 27, 2018
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
etc #190 Remove urm plugin Nov 28, 2017
src Hexagonal pattern fixes (#814) Oct 27, 2018
README.md #190 Remove pumlids from readmes Nov 28, 2017
pom.xml Set version for next development iteration Sep 30, 2018

README.md

layout title folder permalink pumlformat categories tags
pattern
Hexagonal Architecture
hexagonal
/patterns/hexagonal/
svg
Architectural
Java
Difficulty-Expert

Also known as

  • Ports and Adapters
  • Clean Architecture
  • Onion Architecture

Intent

Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases.

Hexagonal Architecture class diagram

Applicability

Use Hexagonal Architecture pattern when

  • When the application needs to be independent of any frameworks
  • When it is important that the application highly maintainable and fully testable

Tutorials

Presentations

Real world examples

  • Apache Isis builds generic UI and REST API directly from the underlying domain objects

Credits