- Published on
redux 과 패턴들
- Authors
- Name
- Hyo814
개발 패턴 및 기술에 대한 가이드
1. MVC 패턴 (Model-View-Controller)
- 정의: 응용 프로그램을 세 부분(Model, View, Controller)으로 구분하여 관리하는 디자인 패턴입니다.
- 구성:
- Model: 데이터와 비즈니스 로직을 관리합니다.
- View: 사용자 인터페이스를 담당합니다.
- Controller: 사용자의 입력을 받고 처리하는 로직을 담당합니다.
- 공식 문서 URL: MVC Pattern
2. MVVM 패턴 (Model-View-ViewModel)
- 정의: Model-View-ViewModel의 약자로, 주로 UI 개발에서 사용되는 아키텍처 패턴입니다.
- 구성:
- Model: 데이터와 비즈니스 로직을 담당합니다.
- View: 사용자에게 보이는 UI 부분을 담당합니다.
- ViewModel: View를 표현하기 위한 데이터 및 명령을 담당하며, Model과 View 사이의 매개체 역할을 합니다.
- 공식 문서 URL: MVVM Pattern
3. Flux 패턴
- 정의: 클라이언트 사이드 웹 애플리케이션을 위해 Facebook에 의해 개발된 아키텍처 패턴입니다. 단방향 데이터 흐름을 중심으로 설계되었습니다.
- 구성: Dispatcher, Stores, Views (React Components)를 사용하여 데이터 흐름을 관리합니다.
- 공식 문서 URL: Flux Pattern
4. Redux 와 Flux 패턴의 차이점
- Redux:
- 상태 관리 라이브러리로, Flux 아키텍처의 여러 구현 중 하나입니다.
- 전역 상태를 단일 저장소에서 관리합니다.
- 예측 가능한 상태 관리를 가능하게 합니다.
- Flux:
- 여러 저장소를 사용할 수 있습니다.
- Action과 Dispatcher를 중심으로 데이터 흐름이 관리됩니다.
- 차이점: Redux는 Flux의 개념을 단순화하고 단일 저장소를 사용하여 보다 일관된 관리를 제공합니다.
- 공식 문서 URL: Redux vs Flux
5. Redux와 Context API의 차이점 및 사용 활용 방법
- Redux:
- 전역 상태 관리를 위한 복잡한 애플리케이션에 적합합니다.
- DevTools 확장 프로그램과 미들웨어를 통한 강력한 개발 지원을 제공합니다.
- Context API:
- React의 내장 기능으로, 단순하고 빠른 전역 상태 관리를 제공합니다.
- 주로 Redux보다 작거나 중간 크기의 애플리케이션에서 사용됩니다.
- 주요 사용 활용 방법:
- Redux: 대규모 상태 관리가 필요하거나 상태 변화 로직이 복잡할 때 사용합니다.
- Context API: 단순한 상태 전달이 필요할 때 사용하여 props drilling을 피할 수 있습니다.
- 공식 문서 URL: