ArchitectMind
  1. Home
  2. Tutorials
  3. Book 5
Stage 2 · Frameworks & design · 7 volumes · 250 topics

Book 5: Software Design & Design Patterns

Designing code that lasts: principles, SOLID, the classic design patterns, enterprise patterns, refactoring and design decisions.

The first three topics of every volume are live. New topics are added in rounds across all volumes, so the whole path grows evenly.

Volume I

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 immobility
Volume II

Object-Oriented Design & SOLID

1.1 ObjectsState, behaviour and identity1.2 ClassesResponsibility, collaboration and inheritance1.3 RelationshipsAssociation, aggregation, composition and dependency
Volume III

Creational & 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 architecture
Volume IV

Behavioral 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 modification
Volume V

Enterprise & 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 interface
Volume VI

Refactoring, 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 verification
Volume VII

Advanced 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.

Almost done! Check your inbox and click the confirmation link to complete your subscription.