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