Why bother
The layers I actually use
- Views — .vue files. Props in, events out. Render state.
- Composables — reactive glue. Hold state, call use-cases, expose refs the view consumes.
- Use-cases — plain functions. Orchestrate domain rules. No Vue imports.
- Gateways — anything that talks to the outside world (HTTP, storage). Wrapped behind a thin interface.