Tomas Tulka's Blog
Random thoughts about programming and other stuff.
Cohesion done right reduces coupling and complexity of systems.
How to implement the ISP using simple functions to reduce coupling and complexity at the same time.
Don't model the real world, model your business!
How do Java Records fit to the object-oriented design?
Interfaces are good stuff. Does that mean the more the better?
Configuration is part of the application API, so the same rules apply to it: no leak of implementation detail.
Defining service boundaries is hard. Let's bring some colors and make it fun!
Which purpose has a Repository? To which layer does it belong to? And how to implement it correctly?
Collection, List and Set are terms very familiar to developers but hardly used by business experts. Therefore, they should not be part of the domain (API).
There are situations where events and commands seem to be a good solution for a problem. Where to use events and where are commands the best fit?