Skip to content

[아키텍처] FSD 아키텍처 도입하기. #216

@CreatorDodo

Description

@CreatorDodo

관련 이슈

프론트엔드 개발자들은 종종 애플리케이션 아키텍처와 관련된 문제에 직면합니다. 이는 애플리케이션 모듈 간에 느슨한 결합과 높은 응집력을 제공하면서 쉽게 확장할 수 있는 아키텍처를 필요로 합니다.
이 문서에서는 다양한 선택지 중에서도 최고의 방법이라고 생각되는 Feature-Sliced Design 아키텍처에 대해 논의합니다. 또한, FSD의 아이디어와 이 아키텍처가 해결하는 문제에 대해 탐구합니다. FSD를 기존의 전통적인 아키텍처 및 모듈형 아키텍처와 비교하며 그 장단점을 검토할 것입니다.

내용 요약

FSD는 계층, 슬라이스, 세그먼트라는 세 가지 개념을 구분합니다. 각 개념이 어떻게 아키텍처를 구성하고 관리하는지에 대한 자세한 설명이 이어집니다. 또한, FSD와 Next.js 간의 충돌과 이를 해결하는 방법에 대해서도 논의됩니다.

FSD는 많은 기업에서 사용되고 있으며, 프론트엔드 개발에서 중요한 아키텍처 솔루션으로 자리 잡을 가능성이 큽니다.

장점

  • 아키텍처의 구성 요소를 쉽게 교체, 추가, 제거 가능
  • 아키텍처의 표준화
  • 확장 가능성
  • stack-independent methodology
    • 특정 기술 스택(예: 특정 프로그래밍 언어, 프레임워크, 라이브러리 또는 도구)에 종속되지 않고, 다양한 기술이나 플랫폼에서 적용될 수 있는 개발 접근 방식 또는 아키텍처 패턴을 의미합니다. 즉, 이러한 방법론은 어떤 프로젝트에서도 가장 적합한 도구를 선택해 적용할 수 있도록 보편적인 원칙과 구조를 제공합니다.
  • 예측 가능한 모듈 간 연결

단점

  • 다른 아키텍처 솔루션에 비해 진입 장벽이 높음
  • 팀의 문화와 개념에 대한 이해가 필요
  • 문제 해결은 즉각적이어야 함

FSD는 프론트엔드 개발에서 확장 가능한 표준화된 아키텍처와 개발 문화를 제공할 수 있습니다. 이를 성공적으로 적용하기 위해서는 팀 내 지식과 인식, 규율이 필요합니다.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions