PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Что такое FSD?

Продвинутые темы

FSD (Feature-Sliced Design) — это методология построения архитектуры фронтенд-приложений через деление кода на стандартные слои и бизнес-ориентированные слайсы с однонаправленными зависимостями.

Слои (сверху вниз)

  • app — инициализация, провайдеры, роутер, глобальные стили.
  • pages — страницы-маршруты, композиция из нижних слоёв.
  • widgets — крупные самостоятельные блоки UI.
  • features — пользовательские сценарии и действия.
  • entities — бизнес-сущности (user, product) и их модель.
  • shared — переиспользуемая инфраструктура: UI-кит, утилиты, API-клиент.

Правило зависимостей

Импорты идут только «вниз»: слой использует нижележащие, но не наоборот и не «вбок» между слайсами одного уровня.

app → pages → widgets → features → entities → shared

Слайсы и сегменты

Внутри слоя код делится на слайсы (по бизнес-домену), а слайс — на сегменты: ui, model, api, lib, config.

Зачем

  • Масштабируемость и предсказуемая структура.
  • Явные границы и контроль связанности.
  • Понятно, куда класть новый код.

Коротко для собеседования

FSD — методология структуры фронтенда: слои app/pages/widgets/features/entities/shared с однонаправленными импортами вниз, слайсы по бизнес-доменам и сегменты (ui/model/api/lib). Даёт масштабируемость и контроль зависимостей.

Другие вопросы раздела