Course · 7 lessons ~43 hr Intermediate

Application Architecture Patterns

Application Architecture Patterns covers: Clean Architecture, Software Architecture in Practice, Head First Software Architecture, Building Microservices. Master the architectural patterns that organize code within a single application: layered architecture, hexagonal (ports & adapters), clean architecture, modular monoliths, CQRS, and event sourcing. Know when each is appropriate and when it is over-engineering. Rails IS an application architecture — it just does not call itself that. MVC is a layered architecture. Middleware is pipes-and-filters. ActiveRecord is a tactical pattern choice (Active Record over Data Mapper). Concerns are a (sometimes questionable) form of horizontal decomposition. Engines are a modular monolith mechanism. This module gives you the vocabulary to see Rails' architecture clearly, to know where it serves you, and to know where you need to add layers (service objects, form objects, domain models) that Rails does not provide out of the box.

reading · we frame, you read MIT or the canonical taught · we author, no canonical fits ↺ spirals back to earlier lessons
Course locked

Complete Domain-Driven Design first.

This course unlocks once you've finished its prerequisite. Open prerequisite →

7 lessons. Read in order; spiral back when you need to. By the end you'll have used the core ideas twice — once on the abstract, once on something you'll meet at work next week.