Clean Architecture is Screaming

Welcome to the fifth installment of little architecture series! So far we have covered layers, hexagons, onions and features. Today, we’ll look at a close friend of all four – Uncle Bob’s

Continue reading

Package by Feature is Demanded

In the DZone comments under my post about Layered Architecture, there have been voices that layering should be realized as what I call Packaging by Feature. I intentionally delayed writing about this to

Continue reading

Optional Method Parameters

I have recently come across an interesting problem: should you use Optional as a method parameter type? The majority of sources says that you shouldn’t, but let’s weigh the arguments before

Continue reading

Onion Architecture is Interesting

After Layered and Hexagonal architectures, the time has come to talk about their close cousin – the Onion Architecture initially introduced in a series of posts by Jeffrey Palermo. What is Onion

Continue reading

How to Be a Better Code Reviewee

In the only guest post ever on Tidy Java, Agnieszka gave you the essentials necessary to take advantage of code reviews in your projects. I hope that by now all of you are doing some sort of code reviews.

Continue reading

Bind Your Contexts, Don’t Hurt Them!

This article is a response to a comment under one of my previous ones – Layered Architecture Is Good. The comment says: Domain driven design does not conflict with layered architecture! The first

Continue reading

Hexagonal Architecture is Powerful

Continuing our journey through various architectural styles, we’re now headed for the Hexagonal Architecture, also known as Ports and Adapters. What is Hexagonal Architecture? Hexagonal Architecture

Continue reading

Layered Architecture Is Good

Darek, the guy who reviews almost all Tidy Java posts before they are published, suggested that I could do a series on implementing different architectural styles, their pros, cons etc. I decided to give

Continue reading

Cleaner Tests with Spock

One obvious fact about tests that is often overlooked is: tests are code. This implies that the tests, as any kind of code, have to be read, understood and maintained. We’re smart, educated guys,

Continue reading

TDD and Code Quality

Every time I see an article claiming that TDD improves code quality, a part of me cries. It’s not that I don’t think it can be true. It’s because it’s not necessarily true and those

Continue reading