35 lines
887 B
Markdown
Raw Normal View History

2016-04-10 21:22:40 +03:00
---
layout: pattern
title: Hexagonal Architecture
folder: hexagonal
permalink: /patterns/hexagonal/
categories: Architectural
tags:
- Java
- Difficulty-Expert
---
2016-04-10 21:49:40 +03:00
## Also known as
2016-05-22 09:33:50 +03:00
* Ports and Adapters
* Clean Architecture
* Onion Architecture
2016-04-10 21:49:40 +03:00
2016-04-10 21:22:40 +03:00
## 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](./etc/hexagonal.png)
## Applicability
Use Hexagonal Architecture pattern when
* it is important that the application is fully testable
* you use Domain Driven Design methodology and/or Microservices architectural style
## Real world examples
* [Apache Isis](https://isis.apache.org/)
## Credits
* [Alistair Cockburn - Hexagonal Architecture](http://alistair.cockburn.us/Hexagonal+architecture)