Hexagonal Architecture Hands-on

Hexagonal Architecture or Ports & Adapters is an architectural pattern that guides you in structuring a component, service or application and managing dependencies. It is a pattern, not a best practice! A pattern solves a problem in a context, and therefore it comes with trade-offs. Hexagonal Architecture usually pays off in our experience. We have been applying it for 10+ years, and it has proved its worth.

Hexagonal Architecture is getting quite a bit of (well-deserved!) attention recently, especially in the Domain Driven Design community. Hexagonal Architecture is not a new thing: it was originally thought up by Alistair Cockburn (of Agile Manifesto fame) in the 90ies.

Applying Hexagonal Architecture helps you to achieve loosely coupled design that clearly ‘speaks’ your domain language. It facilitates controlled evolution of domain logic, APIs, databases, etc.

Goal: learn how to achieve a better separation of concerns in software components; learn a technique to make better decisions about dependencies in and between software components

Means: through presentation, we introduce the concept of hexagonal architecture as an architectural pattern (being an alternative to a layered architecture). We show how it helps to:

  • decouple domain objects from their surroundings in an embedded device, or in software as a service;
  • determine what kinds of tests to use and how they interact with the system: end-to-end tests, integration tests, unit tests;

You will get some hands-on experience applying the Hexagonal Architecture pattern through a modelling exercise and some hands-on coding exercises. You don’t need to be an experienced software developer however, as we will provide coding exercises at different levels of difficulty.

Audience

Architects, software developers, CI/CD engineers, anyone involved in developing software or writing scripts; this workshop is suitable both for more junior developers who want to grow and for more senior developers who’d like to sharpen their skills.

Practical information

  • Duration: 1 day
  • Training infrastructure (including laptops) will be taken care of
  • Basic programming skills required
  • This training is available as open enrolment and in-house.
  • Programming languages: Java, C#, C++, Python

Register for this course

Upcoming courses

Course Date & time Location Language Fee
Test Driven Development in Python 2 days - TBA Remote English €995 - register
Test Driven Development in Java 2 days - TBA Remote English €995 - register
Test Driven Development in TypeScript 2 days - TBA Remote English €995 - register
Test Driven Development in Kotlin 2 days - TBA Remote English €995 - register
Test Driven Development in C++ 2 days - TBA Remote English €995 - register
Workshop Hexagonal Architecture Hands On 1 day - TBA Remote English €495 - register
Workshop Domain Driven Design 1 day - TBA Remote English €495 - register
Systems Thinking for Sustainable Delivery 1 day - TBA Remote English €395 - register