Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhancement: Backticks Added for Layers on /get-started #777

Merged
merged 2 commits into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ Layers, slices, and segments form a hierarchy like this:

Layers are standardized across all FSD projects. You don't have to use all of the layers, but their names are important. There are currently seven of them (from top to bottom):

1. App\* — everything that makes the app run — routing, entrypoints, global styles, providers.
2. Processes (deprecated) — complex inter-page scenarios.
3. Pages — full pages or large parts of a page in nested routing.
4. Widgets — large self-contained chunks of functionality or UI, usually delivering an entire use case.
5. Features — _reused_ implementations of entire product features, i.e. actions that bring business value to the user.
6. Entities — business entities that the project works with, like `user` or `product`.
7. Shared\* — reusable functionality, especially when it's detached from the specifics of the project/business, though not necessarily.

_\* — these layers, App and Shared, unlike the other layers, don't have slices, and are made up of segments directly._
1. `App\*` — everything that makes the app run — routing, entrypoints, global styles, providers.
2. `Processes` (deprecated) — complex inter-page scenarios.
3. `Pages` — full pages or large parts of a page in nested routing.
4. `Widgets` — large self-contained chunks of functionality or UI, usually delivering an entire use case.
5. `Features` — _reused_ implementations of entire product features, i.e. actions that bring business value to the user.
6. `Entities` — business entities that the project works with, like `user` or `product`.
7. `Shared\*` — reusable functionality, especially when it's detached from the specifics of the project/business, though not necessarily.

_\* — these layers, `App` and `Shared`, unlike the other layers, don't have slices, and are made up of segments directly._

The trick with layers is that modules on one layer can only know about and import from modules from the layers strictly below.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ FSD는 규모에 관계 없이 모든 팀과 프로젝트에서 사용할 수

레이어는 모든 FSD 프로젝트에서 표준화되어 있습니다. 모든 레이어를 사용할 필요는 없지만, 이름은 중요합니다. 현재(위에서 아래로) 7개가 있습니다:

1. App\* - 앱을 실행하는 모든 것 - 라우팅, 진입점, 전역 스타일, 프로바이더.
2. Processes(더 이상 사용되지 않음) - 페이지 간 복잡한 시나리오.
3. Pages - 전체 페이지 또는 중첩 라우팅에서 페이지의 주요 부분.
4. Widgets - 독립적으로 작동하는 대규모 기능 또는 UI 컴포넌트, 보통 하나의 완전한 기능.
5. Features - 제품 전반에 걸쳐 재사용되는 기능 구현체로, 사용자에게 실질적인 비즈니스 가치를 제공하는 동작.
6. Entities - 프로젝트가 다루는 비즈니스 엔티티, 예를 들어 user 또는 product.
7. Shared* - 재사용 가능한 기능, 특히 프로젝트/비즈니스의 특성과 분리되어 있을 때 (반드시 그럴 필요는 없음).

_\* - App과 Shared는 다른 레이어들과 달리 슬라이스를 가지지 않으며, 직접 세그먼트로 구성됩니다._
1. `App\*` - 앱을 실행하는 모든 것 - 라우팅, 진입점, 전역 스타일, 프로바이더.
2. `Processes`(더 이상 사용되지 않음) - 페이지 간 복잡한 시나리오.
3. `Pages` - 전체 페이지 또는 중첩 라우팅에서 페이지의 주요 부분.
4. `Widgets` - 독립적으로 작동하는 대규모 기능 또는 UI 컴포넌트, 보통 하나의 완전한 기능.
5. `Features` - 제품 전반에 걸쳐 재사용되는 기능 구현체로, 사용자에게 실질적인 비즈니스 가치를 제공하는 동작.
6. `Entities` - 프로젝트가 다루는 비즈니스 엔티티, 예를 들어 user 또는 product.
7. `Shared*` - 재사용 가능한 기능, 특히 프로젝트/비즈니스의 특성과 분리되어 있을 때 (반드시 그럴 필요는 없음).

_\* - `App`과 `Shared`는 다른 레이어들과 달리 슬라이스를 가지지 않으며, 직접 세그먼트로 구성됩니다._

레이어를 다룰 때의 중요한 점은 한 레이어의 구성 요소는 반드시 아래에 있는 레이어의 구성 요소만 알수있고 임포트할 수 있다는 것입니다.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ FSD можно внедрять в проектах и командах любо

Слои стандартизированы во всех проектах FSD. Вам не обязательно использовать все слои, но их названия важны. На данный момент их семь (сверху вниз):

1. App\* — всё, благодаря чему приложение запускается — роутинг, точки входа, глобальные стили, провайдеры и т. д.
2. Processes (процессы, устаревший) — сложные межстраничные сценарии.
3. Pages (страницы) — полные страницы или большие части страницы при вложенном роутинге.
4. Widgets (виджеты) — большие самодостаточные куски функциональности или интерфейса, обычно реализующие целый пользовательский сценарий.
5. Features (фичи) — _повторно используемые_ реализации целых фич продукта, то есть действий, приносящих бизнес-ценность пользователю.
6. Entities (сущности) — бизнес-сущности, с которыми работает проект, например `user` или `product`.
7. Shared\* — переиспользуемый код, особенно когда она отделена от специфики проекта/бизнеса, хотя это не обязательно.

_\* — эти слои, App и Shared, в отличие от других слоев, не имеют слайсов и состоят из сегментов напрямую._
1. `App\*` — всё, благодаря чему приложение запускается — роутинг, точки входа, глобальные стили, провайдеры и т. д.
2. `Processes` (процессы, устаревший) — сложные межстраничные сценарии.
3. `Pages` (страницы) — полные страницы или большие части страницы при вложенном роутинге.
4. `Widgets` (виджеты) — большие самодостаточные куски функциональности или интерфейса, обычно реализующие целый пользовательский сценарий.
5. `Features` (фичи) — _повторно используемые_ реализации целых фич продукта, то есть действий, приносящих бизнес-ценность пользователю.
6. `Entities` (сущности) — бизнес-сущности, с которыми работает проект, например `user` или `product`.
7. `Shared\*` — переиспользуемый код, особенно когда она отделена от специфики проекта/бизнеса, хотя это не обязательно.

_\* — эти слои, `App` и `Shared`, в отличие от других слоев, не имеют слайсов и состоят из сегментов напрямую._

Фишка слоев в том, что модули на одном слое могут знать только о модулях со слоев строго ниже, и как следствие, импортировать только с них.

Expand Down
Loading