SOFTWARE ENGINEERING / WEEK 08

Design the structure.
Choose the pattern.

An illustrated guide to software architecture, SOLID principles, and creational, structural, and behavioral design patterns.

6 study sections40 illustrations2 resources
Begin with software architecture
Software architectureARCHITECTURE, SOLID & DESIGN PATTERNS

Study sections

Follow the order or choose a section
01

Software architecture

Software architecture is a way of organising your code: how classes/modules should be organised. It is like the architecture of a build…

7 illustrations
02

SOLID: 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…

24 illustrations
03

Creational design patterns

Design patterns are descriptions of communicating objects and classes customised to solve a general design problem in a particular cont…

3 illustrations
04

Structural design patterns

Structural patterns help assemble objects and classes into larger structures while keeping them flexible and efficient.

3 illustrations
05

Behavioral design patterns

Behavioural patterns handle effective communication and the assignment of responsibilities between objects.

3 illustrations
06

Choose the right solution

When choosing a design approach, first identify the problem described in the sections: overall system organization (architecture), clas…

0 illustrations

Week 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