Software Craft

Hexagonal Architecture with Java and Spring

The term “Hexagonal Architecture” has been around for a long time. Long enough that the primary source on this topic has been offline for a while and has only recently been rescued from the archives.

Read more

Immutables in Java - Are Setters Allowed?

In short, no. Feel free to jump right ahead to the section on bad practices. If you want to read a bit more on the why and how of immutables, have a look at the rest of this article.

Read more

What is Upstream and Downstream in Software Development?

In the recent past, I stumbled a few times over the definition of the words “upstream” and “downstream” in various software development contexts.

Read more

Build Once, Run Anywhere: Externalize Your Configuration

Most software that does more than a “hello world” needs to be configured in some way or another in order to function in a certain environment.

Read more

Why You Should Enforce 100% Code Coverage*

Yeah, I know. Everyone says aiming for 100% code coverage is bullshit. And the way test coverage is usually defined, I fully agree!

Read more

Combining Object Mother and Fluent Builder for the Ultimate Test Data Factory

To test our business code we always need some kind of test data. This tutorial explains how to do just that with the Object Mother pattern and why we should combine it with a Fluent Builder to create test data factories that are fun to work with.

Read more