https://feature-sliced.design/docs/reference/layers#import-rule-on-layers 위는 원본 사이트이며 해당 내용을 한글로 번역한 문서입니다.

Layers

계층은 Feature-Sliced Design에서 조직적 계층 구조의 첫번째 수준이다.

목적

레이어의 목적은 코드가 필요로 하는 책임의 정도와 애플리케이션내 다른 모듈에 대한 의존성을 기준으로 코드를 분리하는 것

각 레이어는 코드에 할당해야 하는 책임의 정도를 결정하는 데 도움이 되는 특별한 의미를 갖고 있다.

총 7개의 레이어가 존재

Import rule on layers

레이어는 슬라이스로 구성되며, 슬라이스는 높은 응집력을 가진 모듈 그룹이다.

슬라이스 간의 의존성은 레이어의 import 규칙에 의해 규제된다.

슬라이스 내의 모듈(파일)은 자신보다 아래에 있는 레이어에 속한 슬라이스만 import할 수 있다.

Feature를 기준으로 볼때 ,~/entities, ~/shared에서 코드를 import를 할수있으며, 동일슬라이스 내의 다른코드( ~/features/aaa/lib/cache.ts)에서도 import 할 수 있다.

슬라이스는 코드들을 비즈니스 도메인별로 구분하지만, Shared는 비즈니스 도메인을 가지지 않고, App은 모든 비즈니스 도메인을 결합하므로 이 두레이어는 예외이다.

실제로 이는 App과 Shared 레이어가 세그먼트로 구성되며, 세그먼트 간에는 자유롭게 import 할 수 있음을 의미한다.