Adding initialization-on-demand idiom and noninstantiable class instead of interface constant idiom
layout, title, folder, permalink, pumlid, categories, tags
layout | title | folder | permalink | pumlid | categories | tags | ||
---|---|---|---|---|---|---|---|---|
pattern | Hexagonal Architecture | hexagonal | /patterns/hexagonal/ | HSTB4W8X30N0g-W1XkozpPD90LO8L3wEnzUTk-xxq2fvSfhSUiJs1v7XAcr4psSwMrqQh57gcZGaBmICNdZZEDb7qsCZWasT9lm7wln1MmeXZlfVIPjbvvGl | Architectural |
|
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.
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