Ответ
FSD (Feature-Sliced Design) — это архитектура, которая делит приложение по бизнес-логике (фичам), а не по типам файлов (как MVC) или слоям (как Clean Architecture).
Отличия от других подходов:
- Feature-based — структура строится вокруг фич (
/cart,/profile), а не технических слоёв (/components,/api). - Изолированность — каждая фича независима и содержит свою логику, UI и API.
- Масштабируемость — проще добавлять новые фичи без влияния на другие.
Пример структуры:
src/
features/
cart/ # Вся логика корзины
ui/
model/
api/
auth/ # Вся логика авторизации
ui/
model/
Плюсы:
- Чёткое разделение зон ответственности.
- Уменьшает связанность кода.
Минусы:
- Требует дисциплины в организации импортов (нельзя импортировать фичи друг в друга напрямую).