Design patterns and architecture · Layers and roles
Architecture patterns-style app
Illustrative system design for a layers and roles app like Architecture patterns: 4 topics to read, from requirements to deep dives.
Illustrative design, not Architecture patterns’s actual implementation. Arrowbox is not affiliated with Architecture patterns’s owner. Disclaimer
Start with Client layers Sign in to start readingUpdated 2 Oct 2026
Core
A frontend stays changeable when rendering, shared state and talking to the server live in separate layers, and each layer depends only on the one below it.
The model-view family separates data from its presentation. It differs in who updates the view: an observing view, a presenter that pushes, or bindings to a view model.
Flux routes every change through one path (action, then reducer or store, then view), so updates are ordered, traceable and replayable.
A handful of booleans can describe states that must never happen; naming a flow's states and the only allowed transitions makes impossible UI unrepresentable.