Software Development

The Clean Architecture

The Clean Architecture is one of many architectures that aim to isolate the domain model, and make the code base more modular, more decoupled, and therefore more testable. It takes ideas from Ports and Adapters… Read More »The Clean Architecture

Package by feature

File structure is a significant part of the overall architecture and organisation of an application, though it often seems to get overlooked. Developers typically stick to organising their files/directories according to the type of code… Read More »Package by feature


Encapsulation is one of the four pillars of object-oriented programming, along with abstraction, inheritance and polymorphism. The idea is to restrict access to an object’s internal state through the use of access modifiers, and only… Read More »Encapsulation

Task-Based User Interfaces

Task-based user interfaces are essential for domain-driven design and CQRS. Instead of presenting an interface consisting of data-oriented forms that allow the user to directly manipulate the data underlying the domain model in a nearly… Read More »Task-Based User Interfaces