Published on

redux 과 패턴들

Authors
  • avatar
    Name
    Hyo814
    Twitter

개발 패턴 및 기술에 대한 가이드

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: