디자인 패턴

cheshire0105·2024년 1월 15일

iOS

목록 보기
3/45
post-thumbnail

디자인 패턴

  1. MVC (Model-View-Controller):
    • Model: 데이터와 비즈니스 로직을 처리합니다.
    • View: 사용자 인터페이스(UI)를 표현하며, 사용자의 입력을 받습니다.
    • Controller: Model과 View 사이의 중개자 역할을 합니다. 사용자의 입력을 처리하고, Model에 데이터를 요청하거나 업데이트하며, View에 데이터를 표시하도록 지시합니다.
    • 주로 Apple의 iOS 개발에서 권장되는 패턴입니다.
  2. MVP (Model-View-Presenter):
    • Model: 데이터와 비즈니스 로직을 처리합니다.
    • View: 사용자 인터페이스를 표현하며, 사용자의 입력을 받습니다.
    • Presenter: View와 Model 사이의 중개자 역할을 합니다. View로부터의 입력을 받아 Model을 업데이트하고, Model의 데이터를 가져와 View에 표시합니다.
    • View와 Presenter는 강하게 연결되어 있으며, 주로 Android 개발에서 사용됩니다.
  3. MVVM (Model-View-ViewModel):
    • Model: 데이터와 비즈니스 로직을 처리합니다.
    • View: 사용자 인터페이스를 표현하며, 사용자의 입력을 받습니다.
    • ViewModel: View를 위한 데이터와 명령을 제공합니다. View와 Model 사이의 중개자 역할을 하며, 데이터 바인딩을 통해 View와 자동으로 동기화됩니다.
    • 주로 Microsoft의 WPF나 Xamarin, 그리고 Android의 Jetpack Architecture Components에서 사용됩니다.
  4. VIPER (View-Interactor-Presenter-Entity-Router):
    • View: 사용자 인터페이스를 표현하며, 사용자의 입력을 받습니다.
    • Interactor: 비즈니스 로직을 처리합니다.
    • Presenter: View와 Interactor 사이의 중개자 역할을 합니다.
    • Entity: 앱의 기본 데이터 객체를 나타냅니다.
    • Router: 화면 간의 전환 로직을 처리합니다.
    • VIPER는 Clean Architecture의 원칙을 따르며, 각 구성 요소의 역할이 명확하게 분리되어 있습니다.
  5. MVI (Model-View-Intent):
    • Model: 데이터와 비즈니스 로직을 처리하며, 앱의 현재 상태를 나타냅니다.
    • View: 사용자 인터페이스를 표현하며, 사용자의 입력을 받습니다.
    • Intent: 사용자의 입력을 나타내는 이벤트나 액션입니다.
    • MVI는 앱의 상태를 중심으로 설계되며, 주로 반응형 프로그래밍과 함께 사용됩니다.

0개의 댓글