Infographic: the Adapter pattern converts different external languages into one common model, the Strategy pattern decides which adapter runs — Controller to Use case to the MenuAdapter port, then on to XFirmMenuAdapter (X API, JSON) and YFirmMenuAdapter (Y API, XML)
Aug 8, 2026 · 8 min

Adapter and Strategy: Keeping External Services Outside the Domain

How to integrate with multiple external services without letting any of them leak into your business logic: one port, multiple adapters, and two ways to choose which adapter should run.

Infographic: a booking request passes through the links of a chain — flight, seat availability, no-fly list, passport validity and total amount checks pass, and the chain stops at the promo code check
Aug 8, 2026 · 14 min

Chain of Responsibility: Turning Complex Rules Into a Pipeline

Splitting the seat, no-fly, passport, amount and promo checks of an airline booking into independent links of a chain, with Spring Boot.

Infographic: the Facade drawn as a single door in an airport terminal; the client walks in through that door, and behind it sit the payment system, ticket generation, baggage system, notification service and loyalty points
Aug 8, 2026 · 11 min

Facade Pattern: Hiding Complex Subsystems Behind One Door

The Facade Pattern does not remove complex subsystems. It hides them behind one door. Let’s see it in Spring Boot with a real airline booking scenario.

Infographic: calling getBooks() in a loop after findAll() produces 1 main query plus N relation queries; below it the four fixes — JOIN FETCH, @EntityGraph, batch fetching and DTO projection — with detection tips and rules of thumb
Aug 8, 2026 · 11 min

The N+1 Query Problem: A Silent Performance Trap in ORMs

You load the main records with one query, then run one more query for every relation. How the N+1 problem happens, how to notice it, and which fix to use when.