Component-Driven Design
재사용 가능한 컴포넌트를 중심으로 UI를 구축하는 방법론입니다.
연도
2010s
#FF4785
핵심 원칙
1
모듈화
2
독립성
3
재사용성
주요 특징
- 독립적인 컴포넌트
- 재사용 가능한 모듈
- 스토리북 활용
- 단일 책임 원칙
- 테스트 용이성
장단점
장점
- +개발 생산성 대폭 향상
- +버그 격리 및 유지보수 용이
- +독립 컴포넌트 단위 테스트 가능
- +Storybook으로 문서화 자동화
단점 / 한계
- −컴포넌트 수 증가로 관리 복잡도 상승
- −props drilling 문제 발생 가능
- −과도한 추상화 위험
적합한 사용처
사용 사례
- React·Vue·Angular 프로젝트
- 디자인 시스템 구축
- 스토리북 기반 개발
- 팀 기반 프론트엔드 개발
이런 프로젝트에 추천
React·Vue 기반 웹앱디자인 시스템 팀스토리북 기반 개발대규모 프론트엔드
UI 컴포넌트 예제
이 디자인 스타일의 특징을 반영한 실제 UI 컴포넌트들입니다.
Independent Components
독립적으로 작동하는 재사용 가능한 컴포넌트
Component A
독립적으로 작동합니다
Component B
다른 컴포넌트에 독립적
Component C
재사용 가능한 모듈
Reusable Button Variants
하나의 컴포넌트, 다양한 변형
Composable Cards
조합 가능한 카드 컴포넌트
Image Card
이미지 + 텍스트
User Card
@username
아바타 + 정보
Simple Card
텍스트만 포함
Props-Based Configuration
Props로 제어되는 컴포넌트
<Alert variant="info" title="Information" />Information
variant="info"
Success
variant="success"
Error
variant="error"
Component Library
컴포넌트 라이브러리 형태로 관리
Component Library
Components
- • Button
- • Input
- • Card
- • Alert
- • Modal
COMPONENT
Button
Default
Disabled
Single Responsibility
각 컴포넌트는 하나의 역할만 수행
🎨
Display
데이터 표시만
⚡
Logic
로직 처리만
🔧
Control
상태 관리만