* 1011: Added SuppressWarnings for SonarCloud errors All of these files are causing SonarCloud to report the following error: Loops should not be infinite Since these instances all require an infinite loop that will never end, these warnings should be disabled so that SonarCloud no longer reports them as error. The rule is: squid:S2189 * 1011: Made all of the randoms static and final According to SonarCloud rule: "Random" objects should be reused, randoms should not be recreated. This commit has taken all of the Randoms and made them constant variables in the files that are using them.
layout, title, folder, permalink, pumlformat, categories, tags
layout | title | folder | permalink | pumlformat | categories | tags | ||
---|---|---|---|---|---|---|---|---|
pattern | Hexagonal Architecture | hexagonal | /patterns/hexagonal/ | svg | 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