The first three topics of every volume are live. New topics are added in rounds across all volumes, so the whole path grows evenly.
Software Design Foundations & Principles
1.1 Software DesignWhat design is, how it differs from implementation and architecture, and its high- and low-level forms1.2 Why Software Design MattersChangeability, maintainability, testability, reusability, extensibility and reliability1.3 Good vs Poor DesignCoupling, cohesion, complexity, duplication, rigidity, fragility and immobilityObject-Oriented Design & SOLID
1.1 ObjectsState, behaviour and identity1.2 ClassesResponsibility, collaboration and inheritance1.3 RelationshipsAssociation, aggregation, composition and dependencyCreational & Structural Design Patterns
1.1 What Is a Design Pattern?Pattern, problem, context, solution and consequences1.2 Pattern CategoriesCreational, structural and behavioral patterns1.3 Pattern vs FrameworkPattern, library, framework and architectureBehavioral Design Patterns
1.1 Strategy PatternEncapsulated algorithms and runtime selection1.2 Strategy in JavaInterfaces, lambdas and functional interfaces1.3 Strategy vs Conditional LogicThe if/else explosion and extension without modificationEnterprise & Application Design Patterns
1.1 Layered ArchitecturePresentation, application, domain and infrastructure1.2 Service LayerApplication services, transaction boundaries and business orchestration1.3 RepositoryPersistence abstraction and a collection-like interfaceRefactoring, Code Quality & Evolutionary Design
1.1 What Is Refactoring?Behaviour preservation and structural improvement1.2 Why Refactor?Reduce complexity, improve maintainability, enable change1.3 Refactoring SafetyTests, small changes and continuous verificationAdvanced Design & Architecture-Level Design Decisions
1.1 Method-Level DesignResponsibilities and control flow1.2 Class-Level DesignCohesion, encapsulation and collaboration1.3 Module-Level DesignDependency direction, public API and internal implementation
Newsletter
Get new tutorials every week
New ArchitectMind tutorials and interview questions, once a week. No spam, unsubscribe anytime.