Pebellslearn by building
RoadmapsMatrixCoursesSandboxSign in

Course details

Software Design Architecture

Learn the habits and principles that separate code that merely works from code a team can live with. You will clean up names and functions, compare programming paradigms, apply the four pillars of object-oriented design, use SOLID and its companions, and meet your first design patterns — all on one small bookshop codebase.

Ready to learn5 sections · 22 lessons
Start learning

Course curriculum

Clean Code Principles5 lessons

Names that explain themselves, one consistent style, small units, few branches and honest function signatures — the everyday habits that make code easy to read and safe to change.

  1. Meaningful Names over Comments12 min
  2. Be Consistent — Names, Indentation and Style12 min
  3. Keep Methods, Classes and Files Small14 min
  4. Minimize Cyclomatic Complexity15 min
  5. Avoid Passing Nulls and Booleans14 min
Programming Paradigms3 lessons

Structured programming tamed control flow, functional programming tamed change, and object-oriented programming bundled data with its rules. Learn what each one gives you and how real code mixes all three.

  1. Structured Programming12 min
  2. Functional Programming and Pure Functions15 min
  3. Object-Oriented Programming14 min
Object-Oriented Programming4 lessons

Encapsulation guards state, abstraction hides detail, inheritance shares a true 'is a' relationship, and polymorphism lets one call adapt to many kinds of object.

  1. Encapsulation13 min
  2. Abstraction13 min
  3. Inheritance14 min
  4. Polymorphism15 min
Design Principles5 lessons

The five SOLID principles, plus DRY, YAGNI, the Law of Demeter, Tell, Don't Ask and composition over inheritance — each one a short test you can run on a design before it hardens.

  1. SOLID, Part 1 — Single Responsibility and Open/Closed16 min
  2. SOLID, Part 2 — Liskov, Interface Segregation and Dependency Inversion18 min
  3. DRY and YAGNI14 min
  4. Law of Demeter and Tell, Don't Ask15 min
  5. Composition over Inheritance16 min
Design Patterns5 lessons

What a design pattern is and where the classic catalogues come from, then four patterns you will meet in almost every codebase: Strategy, Observer, Factory Method and Decorator.

  1. What Design Patterns Are13 min
  2. The Strategy Pattern15 min
  3. The Observer Pattern and the Hollywood Principle15 min
  4. The Factory Method Pattern15 min
  5. The Decorator Pattern16 min