GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — java-design-patterns/hexagonal at master · tmollard/java-design-patterns

Expand file tree

/

hexagonal

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
 
 
/

hexagonal

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
etc
etc
 
 
src
src
 
 
README.md
README.md
 
 
pom.xml
pom.xml
 
 

README.md

Outline
layout pattern
title Hexagonal Architecture
folder hexagonal
permalink /patterns/hexagonal/
pumlformat svg
categories Architectural
tags
Decoupling

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.

Class diagram

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

  • Build Maintainable Systems With Hexagonal Architecture

Real world examples

  • Apache Isis builds generic UI and REST API directly from the underlying domain objects

Credits

  • Alistair Cockburn - Hexagonal Architecture
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.