The Clean Architecture from an Object-Oriented perspective

The Clean Architecture is a new-ish architecture pattern promoted by Robert C. Martin, better known as Uncle Bob. Uncle Bob's name is probably familiar to anyone who has done any software development in the last decades, from his books like Clean Code, to the SOLID principles, both used and referred to by developers all over … Continue reading The Clean Architecture from an Object-Oriented perspective


Object-Oriented Solutions: Readable Design

A readable design is one of those things that probably every developer wants, most of the developers probably think they already got, and the rest debates what it actually means. Instead of joining that discussion, this post briefly describes the tools we have at our disposal to make something more readable or less readable, and … Continue reading Object-Oriented Solutions: Readable Design

Object-Oriented Solutions: Avoiding Getters

Alice and Bob were both working in a small team for an international broker, creating an application to react to certain events in the market. The application's architecture was centered around Trades, that represents a transaction between a buyer and a seller exchanging something of value on an exchange. The initial implementation of a Trade … Continue reading Object-Oriented Solutions: Avoiding Getters

Requirements for a Configuration Library

For an application developer, the problem of configuring the system for actual operations is usually not regarded as a complicated issue. Sometimes the code needs some settings, which can not, or should not be hard-coded, so some external source is needed to provide these values. It's not rocket science. Still, there are some straight-forward, nice-to-have … Continue reading Requirements for a Configuration Library

Magic-less Dependency Injection with JayWire

JayWire is a small, easy to use magic-less Dependency Injection library for Java 8. This article is a short tutorial on how to get started using it in projects of any size from small single- to large multi-module ones. Why another Dependency Injection library? Interestingly enough, the key feature of JayWire is not that it … Continue reading Magic-less Dependency Injection with JayWire

A story of Checked Exceptions and Java 8 Lambda Expressions

Image you are writing a small, awesome Transaction Management library to be used in a project you are working on. You want to provide an easy and safe way for your colleagues to get an SQL Connection from the current transaction, use it, and then close it when the processing is done. The very first … Continue reading A story of Checked Exceptions and Java 8 Lambda Expressions