Christopher O'Connell 7c5d5f6b0d 1010: Fixed all of the blocking and critical Sonarcloud errors (#1020)
* 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.
2019-10-19 20:04:44 +03:00
..
2019-10-12 20:05:54 +03:00
2019-10-12 20:05:54 +03:00
2017-11-28 21:28:53 +02:00

layout, title, folder, permalink, pumlformat, categories, tags
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