Design the structure.
Choose the pattern.
An illustrated guide to software architecture, SOLID principles, and creational, structural, and behavioral design patterns.
ARCHITECTURE, SOLID & DESIGN PATTERNSStudy sections
Follow the order or choose a sectionSoftware architecture
Software architecture is a way of organising your code: how classes/modules should be organised. It is like the architecture of a build…
02SOLID: five principles for maintainable object-oriented design
SOLID is a set of object-oriented principles for software design, conceptualised by Robert Martin (“Uncle Bob”), one of the founders of…
03Creational design patterns
Design patterns are descriptions of communicating objects and classes customised to solve a general design problem in a particular cont…
04Structural design patterns
Structural patterns help assemble objects and classes into larger structures while keeping them flexible and efficient.
05Behavioral design patterns
Behavioural patterns handle effective communication and the assignment of responsibilities between objects.
06Choose the right solution
When choosing a design approach, first identify the problem described in the sections: overall system organization (architecture), clas…
Revision and practice
Review and practice materialWeek 8 — Architecture, SOLID Principles & Design Patterns
Illustrated Software Engineering study guide
Comprehensive study notes; expanded code examples and additional exercises are explicitly supplementary teaching material.
How to study this guide
Read the “why” before memorizing the definition. For each pattern or principle, identify the original design problem, the proposed structure, and its trade-off. Sketch the relationships from memory and answer the checks at the end.
Learning map
- 1. Software architecture: styles, components, connectors and design smells
- 2. SOLID principles: S, O, L, I, D
- 3. Creational patterns: Factory Method and Builder
- 4. Structural patterns: Facade and Adapter
- 5. Behavioral patterns: Iterator, Observer and Strategy
- 6. Pattern selection, common confusions and exam revision
