TGViewer
Coding Lady Coding Lady @codingllady · 772 subscribers
Post #492 1.27K
FSD архитектура⚙️

Чтобы я сильно не скучала, меня на некоторое время добавили в другой проект, который использует FSD архитектуру.
Я трогала ее совсем немного и давно, а последний год работала с Atomic Design, поэтому сегодня я проникаюсь FSD, разворачиваю проект и погружаюсь в него.
Собственно, расскажу и вам, что это такое.

Feature-Sliced Design (FSD) — это архитектурная методология для проектирования frontend-приложений.
Проще говоря, это свод правил и соглашений по организации кода.
Главная цель методологии — сделать проект понятным и структурированным, особенно когда условия бизнеса постоянно меняются.

Проект на FSD состоит из слоев layers, каждый слой состоит из слайсов slices и каждый слайс состоит из сегментов segments (1, 2 картинка).

Слои:
1. app — настройки, стили и провайдеры для всего приложения (собсна как и везде).
2. processes (уже устарел) — сложные сценарии, покрывающие несколько страниц.
3. pages — страницы из сущностей, фич и виджетов. (обыкновенные страницы как и везде)
4. widgets — слой для соединения сущностей и фич в самостоятельные блоки. (например, IssuesList, UserProfile)
5. features — взаимодействия с пользователем. (например, SendComment, AddToCart, UsersSearch)
6. entities — бизнес-сущности. (например, User, Product, Order)
7. shared — переиспользуемый код, не имеющий отношения к специфике приложения/бизнеса. (например, UIKit, libs, API, короче как и во многих других не FSD проектах)

При этом такая история, что верхний слой может использовать нижние, а наоборот - нет. То есть виджет может использовать фичи, которые используют сущности, фичи могут использовать только сущности, а сущности вообще ничего исползовать не могут. Shared может использовать во всех слоях (3 картинка).

Затем есть слайсы, разделяющие код по предметной области. Разделение на слайсы обеспечивает высокий уровень связности (cohesion) при низком уровне зацепления (coupling).

В свою очередь, каждый слайс состоит из сегментов. Это маленькие модули, главная задача которых — разделить код по техническому назначению.
Самые распространенные сегменты — ui, model (store, actions), api и lib (utils/hooks), но в некоторых случаях api и config вынесены в shared-слой.

Пример построения приложения по FSD.

Я пока не работала достаточно с этим подходом, чтобы написать вам свое мнение, но дока FSD говорит о следующих преимуществах:
- Единообразие
- Контролируемое переиспользование логики
- Устойчивость к изменениям и рефакторингу
- Ориентированность на потребности бизнеса и пользователей

Постаралсь очень кратко, штука на мой взгляд прикольная, но надо привыкнуть, вот пошла привыкать🤓
  • 🔥 16
  • 👍 6
  • ❤ 3
More from @codingllady
  1. Dec 25, 2025Post #809
  2. Dec 12, 2025Я говорю развлекаемся как можем
  3. Dec 12, 2025Прислали новогодние подарочки с мэри кэй☺️ я работала на этом проекте осенью, афигенно был…
  4. Dec 12, 2025Это я третий час на созвоне сижу, 20 минут назад плакала, вот такие дела 🙂
  5. Dec 5, 2025Sharing is caring 🫂 Привозите вкусняшки своим коллегам, это очень приятно
  6. Nov 27, 2025Заберите у неё ноут и дайте доску, она ей больше идет 🏄🏽‍♀️ Завтра буду в мск, решать во…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →