IT’s Ha

[ETC] 디자인 패턴(Design Pattern) - MVC, MVP, MVVM 본문

ETC

[ETC] 디자인 패턴(Design Pattern) - MVC, MVP, MVVM

Deleloper Ha 2023. 3. 30. 18:03
728x90
반응형

안녕하세요. 오늘은 디자인 패턴에 대해서 이야기하려고 합니다. 

과연 디자인 패턴은 무엇인가? 왜 사용해야 하는지? 궁금하신 내용을 해결해보려고 합니다. 이번 글에서는 MVC, MVP, MVVM 패턴에 대해서 이야기하겠습니다. 

1. 디자인 패턴

디자인 패턴은 소프트웨어 디자인에서 자주 사용되는 개발 패러다임입니다. 디자인 패턴은 역할의 분리를 하여 개발, 유지보수 효율성이 높아지게 됩니다. 일부 디자인 패턴은 성능 향상도 나타납니다. 

2. MVC 패턴

MVC 패턴은 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 구성 요소로 구성됩니다.

  • 모델(Model) : 데이터 및 비지니스 로직을 캡슐화
  • 뷰(View) :사용자 UI
  • 컨트롤러(Controller) : 사용자의 입력을 처리하고 모델과 뷰를 연결

MVC 패턴

- Controller는 View와 1:N의 관계
- MVC 패턴의 장점은 널리 사용되고 있는 패턴이라는 점에 걸맞게 가장 단순
- 보편적으로 많이 사용되는 디자인패턴
View와 Model 사이의 의존성이 높다

3. MVP 패턴

MVP 패턴은 MVC 패턴의 변형으로, 컨트롤러 대신에 프레젠터(Presenter)를 사용

  • 모델(Model) : 데이터 및 비지니스 로직을 캡슐화
  • 뷰(View) :사용자 UI
  • 프레젠터(Presenter) : 뷰와 모델 간의 상호작용을 캡슐화하며, 뷰와 모델을 분리하여 각각 독립적으로 테스트할 수 있음

MVP 패턴

- Presenter는 View와 Model의 인스턴스를 가지;고 있어 둘을 연결하는 역할
- Presenter와 View는 1:1 관계
- MVC 패턴의 단점인 View와 Model의 의존성 문제를 해결
- 복잡해 질 수록 View와 Presenter 의존성 증가

4. MVVM 패턴

Model - View- ViewModel로 구성되어 있고 WPF나 XAML 기반의 UI 프레임워크에서 주로 사용

  • 모델(Model) : 데이터 및 비즈니스 로직을 캡슐화
  • 뷰(View) :사용자 UI
  • 뷰모델(ViewModel) : 중개자 역할을 하며, 뷰와 모델을 독립적으로 유지

MVVM 패턴

- 뷰모델은 뷰의 이벤트를 처리하고, 뷰의 상태를 변경하며, 뷰와 모델 사이의 데이터 바인딩 처리
- 모델은 데이터를 저장하고, 뷰모델은 모델의 데이터를 가져와서 뷰에 표시
- 각각 부분은 독립적이기 때문에 모듈화 하여 개발 가능
- ViewMdoel의 설계가 어려움

이번 포스팅은 여기서 마치겠습니다. 궁금하신 점이나 잘못된 점은 메일 또는 댓글에 남겨 주시면 수정 또는 답변드리도록 하겠습니다. 감사합니다. 

728x90
반응형

'ETC' 카테고리의 다른 글

[ETC] 크롬 Unsafe Port List  (0) 2023.05.11
[ETC] ZEBRA PrintDriver로 셋팅 후 ZPL 전송  (0) 2023.04.26
[ETC] ZEBRA 스캐너 CDC설정  (0) 2023.03.23
[ETC] 티스토리 블로그 문단바꾸기, 줄바꾸기  (0) 2023.03.13
[ETC] ASCII코드  (0) 2023.03.06
Comments