Blog

Tactical Design by Example - Using Kotlin and Spring Boot (Part 6) - ArchUnit

Today I experimented a little with ArchUnit, in order to validate that an application follows our team's interpretation of Hexagon Architecture. I wanted to ensure that repositories, consumers and controllers are in the corresponding adapter package application services are in the application service package commands and queries are in the incoming port package the outgoing port package only… [read more →]

Tactical Design by Example - Using Kotlin and Spring Boot (Part 5)

|

Today will be about the power of inline classes in Kotlin! The domain Here's an example from REWE digital, the company I work for. They are offering online grocery shopping and deliveries. So when an order is delivered to a customer, the articles are packed in load units. These can be things like boxes or bags. The driver who delivers the order to the customer uses an app, in which he loads the… [read more →]

Tactical Design by Example - Using Kotlin and Spring Boot (Part 4)

I'm currently re-reading Tom Hombergs brilliant book Get Your Hands Dirty on Clean Architecture. In it, he explains an opinionated way to implement Hexagon Architecture with Java and Spring. Early on he describes how to model a use case in four steps Take input Validate business rules Manipulate model state Return output As I'm wondering how to model policies and commands properly, the first… [read more →]