Tomas Tulka's Blog

Random thoughts about programming and other stuff.


Software Architecture

Spring Boot Custom Components

Let's build domain-oriented custom components with Spring Boot starters, auto-configuration and configuration properties.

OOP Is Still Cool in 2021

Object-oriented programming might not be perfect but it is still the best we have.

Keep Options Open

Keeping options open is one of the most useful principles of Clean Architecture. Let’s dive deeper with code examples in Java and Spring framework.

How Cohesion and Coupling Correlate

Cohesion done right reduces the coupling and complexity of systems.

Monolithic Objects

Don't model the real world, model your business!

You Aren’t Gonna Need Microservices

Do you really need a cluster of pods, service mesh, and stream-processing platform right now?

Good and Bad Monolith

It is unfortunate that monolith has become a dirty word. In fact, a physical monolith is typically the right thing to do. Pure evil is monolithic thinking.

No Internals in Configuration API

Configuration is part of the application API, so the same rules apply to it: no leak of implementation detail.

Colored Services

Defining service boundaries is hard. Let's bring some colors and make it fun!

Multitenancy and the Cloud

Multitenancy was and still is a very popular and successful architectural pattern of the last decades. But, that is likely to change with the advent of cloud computing.