15.6 · SOLID without dogma, and building a platform for many apps

Principles are heuristics for managing change. Applied with judgement they save you from a tangle; applied as rules they produce layers of nothing.

Mental model. Ask of every abstraction: what change does this make cheaper, and who pays for it? If you cannot name the change, you probably do not need it.

Principles

SOLID in practice.

  1. How do you apply the SOLID principles in Swift without over-engineering? 15.6.1 · L3
    SOLID is five heuristics about managing change. Single Responsibility: a type should have one reason to change. A view model that formats strings, calls the…

At scale

A shared platform for many apps and teams.

  1. How do you run a shared mobile platform for many apps and teams: layering, ownership, versioning and governance? 15.6.2 · L8
    A platform serves other engineers as its customers: dozens of teams and several apps share components (design system, networking client, auth, analytics…

More in Architecture & API design