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

Object-Oriented Solutions: Accounts and Currencies

This article is about a simplified version of real code running at a financial institution and how maintenance problems with this code can be avoided by using Object-Oriented Design. The purpose of the code is to represent retail money Accounts and enable transferring money, define recurring transfers and to support the usual functionality you find … Continue reading Object-Oriented Solutions: Accounts and Currencies

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