Master the durability foundation of distributed systems: Write-Ahead Log for crash recovery, Segmented Log for file management, and Low-Water Mark for log cleanup. With real-world examples from PostgreSQL, Kafka, and etcd.
Master distributed systems patterns from write-ahead logs to consensus protocols. A comprehensive roadmap covering durability, leader election, replication, partitioning, distributed time, and cluster coordination.
Learn how to design object-oriented systems that are maintainable, flexible, and scalable. Master CRC cards, GRASP patterns, coupling and cohesion, responsibility-driven design, and practical design heuristics with examples in TypeScript, Python, and Java.
A comprehensive guide to data source patterns from Martin Fowler's PoEAA: Active Record for simple domains, Data Mapper for complex domains, Table Data Gateway and Row Data Gateway for explicit data access. Includes code examples in TypeScript and Java.
Master the Observer, Command, and State behavioral design patterns with TypeScript, Python, and Java examples. Learn event-driven systems, undo/redo mechanics, and state machine design to complete the OOP & Design Patterns series.
Master the Strategy and Template Method behavioral design patterns with TypeScript, Python, and Java examples. Learn to swap algorithms at runtime, eliminate conditionals, and define reusable algorithm skeletons with hook methods.
A comprehensive guide to domain logic patterns from Martin Fowler's PoEAA: Transaction Script for simple operations, Domain Model for complex business rules, Table Module for data-centric apps, and Service Layer for coordination. Includes code examples in TypeScript and Java.
Master Martin Fowler's enterprise patterns — domain logic, data source, ORM, distribution, concurrency, and session state patterns. A comprehensive roadmap for building maintainable enterprise applications.
A comprehensive guide to Domain-Driven Design: bounded contexts, ubiquitous language, context mapping, entities, value objects, aggregates, repositories, domain events, aggregate design rules, anti-corruption layer, event storming, DDD with microservices, and when DDD is overkill.
Master the Decorator and Proxy structural design patterns with TypeScript, Python, and Java examples. Learn to extend object behavior dynamically, implement lazy loading, caching proxies, and understand when to use each pattern.