@@ -23,11 +23,11 @@ FSD следует принципу **"Local First"** — начинайте с
2323- Код остаётся в ` pages/ `
2424- Используется только в одном месте
2525
26- ** Подход А : Централизованное API** (` shared/api ` )
26+ ** Подход 1 : Централизованное API** (` shared/api ` )
2727- API и типы в одном месте
2828- Миграция в ` entities/ ` при усложнении
2929
30- ** Подход Б : Доменное API** (` entities/*/api/ ` )
30+ ** Подход 2 : Доменное API** (` entities/*/api/ ` )
3131- Определяется пониманием бизнес-домена — если объект имеет уникальный бизнес-идентификатор и значимое поведение, он заслуживает собственного слайса
3232- Размещение API внутри слайса сущности — следствие этого решения, а не основание для него
3333- Полная инкапсуляция с первого дня
@@ -249,7 +249,7 @@ pages/settings/api/profile.ts // getUserProfile() — дубликат!
249249
250250---
251251
252- ## Подход А : Централизованное API (` shared/api ` )
252+ ## Подход 1 : Централизованное API (` shared/api ` )
253253
254254В этом подходе API-функции и доменные типы живут в ` shared/api/ ` , сгруппированные по сущностям. Хорошо подходит, когда сущности ещё в процессе изменений или проект небольшой.
255255
@@ -314,7 +314,7 @@ const isAdmin = user.role === 'admin'
314314
315315---
316316
317- ## Подход Б : Доменное API (` entities/*/api/ ` )
317+ ## Подход 2 : Доменное API (` entities/*/api/ ` )
318318
319319В этом подходе каждая сущность полностью живёт в своём слайсе — включая API, маппинг DTO, доменные типы и бизнес-логику.
320320
@@ -680,8 +680,8 @@ export function isInGracePeriod(subscription: Subscription): boolean {
680680
681681** 3. Какой подход API подходит проекту?**
682682
683- - Важна защита от изменений backend? -> Подход Б
684- - Важна скорость итераций? -> Подход А
683+ - Важна защита от изменений backend? -> Подход 2
684+ - Важна скорость итераций? -> Подход 1
685685
686686** 4. Нужен ли ` model/ ` ?**
687687
0 commit comments