Модуль 1 — Архитектура Vue1.2

UI → Feature → Domain ← Data. Каждый слой зависит только от нижнего. Domain — чистый TS без Vue.

слоиархитектуразависимостирефакторинг
Модуль 2 — Паттерны проектирования2.1

Container управляет состоянием, Presentation рендерит. Props вниз (данные), emit вверх (события). Имена пропсов = имена emit-событий с on-префиксом.

паттерныкомпонентыразделение
Модуль 3 — Composables3.1

Композабл = JSDoc + типизированный возврат + readonly на state. Ошибки — через throw, не ref(error).

composablesархитектураtypescript
Модуль 0 — TypeScript для Vue0.2

Ограниченные дженерики через extends. ReturnType<T>, type inference в composables — ключ к типобезопасности.

typescriptgenericscomposablesтипобезопасность
Модуль 1 — Архитектура Vue1.1

Feature-based — файлы рядом с фичей. Layer-based — файлы по типу (components/, stores/). В малых проектах — feature-based.

архитектураструктураорганизация
Модуль 0 — TypeScript для Vue0.1

interface — для объектов, type — для unions/intersections. Narrowing через type guards и in-оператор.

typescriptтипыnarrowingunion