Ilkka Seppälä 9ec0935a1c Merge pull request #532 from leogtzr/master
Adding initialization-on-demand idiom and noninstantiable class instead of interface constant idiom
2017-01-23 08:21:07 +02:00
..
2016-11-13 11:37:49 +02:00

layout, title, folder, permalink, pumlid, categories, tags
layout title folder permalink pumlid categories tags
pattern Hexagonal Architecture hexagonal /patterns/hexagonal/ HSTB4W8X30N0g-W1XkozpPD90LO8L3wEnzUTk-xxq2fvSfhSUiJs1v7XAcr4psSwMrqQh57gcZGaBmICNdZZEDb7qsCZWasT9lm7wln1MmeXZlfVIPjbvvGl 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