디자인 패턴은 소프트웨어를 설계할 때 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 수 있는 해결책입니다.
오늘은 React에서 자주 사용되는 Design Pattern중 하나인 Atomic Design Pattern을 알아보도록 하겠습니다.
Atomic Design은 디자인 시스템을 만드는 데 여러 가지 방법론 중 하나입니다.
UI 컴포넌트를 가장 작은 단위로 쪼개고 합쳐서 UI를 하나씩 쌓아가듯이 만들어나가는 방법입니다.
Atomic Design에서는 다음과 같은 단계로 컴포넌트를 관리합니다.
Atoms
: 하나의 구성 요소. 가장 작은 단위의 컴포넌트를 의미합니다. Label, Input, CheckBox, Select 같은 HTML 태그 같이 기능적으로 가장 작은 단위입니다.
Molecules
: Atom을 여러 개 조합한 컴포넌트입니다. 예를 들어 Label + Input을 조합하여 FormInput 이라는 컴포넌트를 재사용할 수 있습니다.
Organisms
: Molecules와 Atoms를 조합하여 컴포넌트를 만듭니다. 특정 기능을 직접적으로 수행하지는 않지만 특정한 컴포넌트들을 조합하다 보니 재사용성은 떨어집니다.
Templates
: 실제 Organisms들을 레이아웃이나 데이터 흐름을 연결합니다
Pages
: 정의된 Templated에 데이터를 넣어 View를 완성하고 실제 페이지를 구성합니다.