Frank on Software
  • About
  • Blog
  • Search
Encapsulating interactions with the outside world in your domain model.

Encapsulating interactions with the outside world in your domain model.

1 Aug 2022 • 4 min read

In my ever-lasting battle against anemic domain models I've developed a preference on how to integrate with the external concerns. In this post I'd like to show an alternative, a strategy on how to keep encapsulating behaviour wile interacting with the outside world.


Use a message envelope

Use a message envelope

7 Mar 2022 • 7 min read

Event-driven architectures have various styles of communication. In my previous post I described a couple of event types you may see in these kinds of architectures. In this post I'd like to go over a supporting practice that benefits virtually all types of events; the use of message envelopes.


The different types of events in event-driven systems

The different types of events in event-driven systems

19 Feb 2022 • 6 min read

Event-driven systems come in all sorts of shapes and sizes. The obvious commonality is; they all use events to communicate information. These events come in many shapes and sizes, and determining what goes into an event has an immense impact on the design of your system. In this post I'd like to go over three different types of...


Where does my validation live?

Where does my validation live?

20 Dec 2021 • 8 min read

This is a question I've received over and over again, a question that does not have a single answer. Sometimes when I explain how I approach this I get surprised reactions, so I figure I might as well share it in a blog post and see what other people think. What makes something valid? When talking about validation...


Back the func off, this is my abstraction!

Back the func off, this is my abstraction!

1 May 2021 • 8 min read

Integrating services over API's exposes your application to a range of possible failures. At scale, any network interaction can and will fail. Implementing a retry mechanism is a common approach to increase fault tolerance. Taking into account how systems fail when designing software can greatly improve the quality of your code. In this blogpost I'd like...


page 1 of 1

Stay up to date

Get the latest posts delivered right to your inbox. I blog about technologies and software engineering. If that's your cup of tea, be sure to subscribe!

Sign up or sign in.

  • Twitter
  • YouTube
  • GitHub
  • RSS