https://feature-sliced.design/docs/reference/layers#import-rule-on-layers 위는 원본 사이트이며 해당 내용을 한글로 번역한 문서입니다.
계층은 Feature-Sliced Design에서 조직적 계층 구조의 첫번째 수준이다.
레이어의 목적은 코드가 필요로 하는 책임의 정도와 애플리케이션내 다른 모듈에 대한 의존성을 기준으로 코드를 분리하는 것
각 레이어는 코드에 할당해야 하는 책임의 정도를 결정하는 데 도움이 되는 특별한 의미를 갖고 있다.
총 7개의 레이어가 존재
레이어는 슬라이스로 구성되며, 슬라이스는 높은 응집력을 가진 모듈 그룹이다.
슬라이스 간의 의존성은 레이어의 import 규칙에 의해 규제된다.
슬라이스 내의 모듈(파일)은 자신보다 아래에 있는 레이어에 속한 슬라이스만 import할 수 있다.
Feature를 기준으로 볼때 ,~/entities, ~/shared에서 코드를 import를 할수있으며, 동일슬라이스 내의 다른코드( ~/features/aaa/lib/cache.ts)에서도 import 할 수 있다.
슬라이스는 코드들을 비즈니스 도메인별로 구분하지만, Shared는 비즈니스 도메인을 가지지 않고, App은 모든 비즈니스 도메인을 결합하므로 이 두레이어는 예외이다.
실제로 이는 App과 Shared 레이어가 세그먼트로 구성되며, 세그먼트 간에는 자유롭게 import 할 수 있음을 의미한다.