코딩 개념 Story

디자인 패턴(MVC, MVVM, MVP)

WhiteDuck 2023. 12. 4. 12:51

MVC (Model-View-Controller) 패턴

  • Model: 데이터와 비즈니스 로직을 처리하는 부분입니다. 데이터의 상태를 유지하고, 데이터에 대한 조작 및 업데이트를 담당합니다.
  • View: 사용자에게 데이터를 보여주는 역할을 합니다. 사용자 인터페이스(UI)를 표현하고, 데이터의 시각적인 표현을 담당합니다.
  • Controller: 사용자의 입력을 처리하고, Model과 View 사이의 상호작용을 조정하는 역할을 합니다. 사용자로부터의 입력을 받아 Model의 데이터를 업데이트하고, View를 업데이트하여 사용자에게 보여줍니다.

MVC 패턴은 각각의 역할을 분리하여 유연하고 확장 가능한 애플리케이션을 구축할 수 있도록 도와줍니다. 데이터, 표현 및 상호작용이 분리되어 있으므로, 변경 사항이 다른 부분에 미치는 영향을 최소화할 수 있습니다.

 


 

MVVM (Model-View-ViewModel) 패턴

  • Model: 데이터 및 비즈니스 로직을 처리하는 부분입니다. 데이터의 상태를 유지하고, 데이터에 대한 조작 및 업데이트를 담당합니다.
  • View: 사용자에게 데이터를 보여주는 역할을 합니다. 사용자 인터페이스(UI)를 표현하고, 데이터의 시각적인 표현을 담당합니다.
  • ViewModel: View와 Model 사이의 매개체 역할을 합니다. View에 표시할 데이터를 제공하고, 사용자의 입력을 처리하여 Model을 업데이트합니다.

MVVM 패턴은 데이터와 UI의 분리를 강조합니다. ViewModel은 Model의 데이터를 View에 적합한 형태로 변환하여 제공하고, View에서 사용자의 입력을 처리하여 Model을 업데이트합니다. 이를 통해 UI와 비즈니스 로직 간의 강한 결합을 피하고, 테스트 용이성과 유지보수성을 높일 수 있습니다.

 

 

 

 

MVP (Model-View-Presenter) 패턴

  • Model: 데이터와 비즈니스 로직을 처리하는 부분입니다. 데이터의 상태를 유지하고, 데이터에 대한 조작 및 업데이트를 담당합니다.
  • View: 사용자에게 데이터를 보여주는 역할을 합니다. 사용자 인터페이스(UI)를 표현하고, 데이터의 시각적인 표현을 담당합니다.
  • Presenter: View와 Model 사이의 매개체 역할을 합니다. View에서 발생한 이벤트를 처리하고, Model을 업데이트합니다. 또한 View에 데이터를 전달하여 화면에 표시합니다.

MVP 패턴은 사용자 인터페이스와 비즈니스 로직을 분리하여 유지보수성을 높입니다. Presenter는 View와 Model 사이의 중재자 역할을 수행하며, View에서 발생한 이벤트를 처리하여 Model을 업데이트합니다. 이를 통해 테스트 용이성과 확장성을 개선할 수 있습니다.

 

 

 

 

반응형

'코딩 개념 Story' 카테고리의 다른 글

MVI (Model-View-Intent) 패턴  (0) 2023.12.06
[ GIT ] 초기 설정  (0) 2016.08.25
[ GIT ] git 설치  (0) 2016.08.24
Spring 1차 용어 정리  (0) 2016.04.02
코딩 인터뷰에 관한 공부 [1장]  (0) 2015.12.01