디자인 패턴과 프로그래밍 패러다임
MVC 패턴
스파이더웹
2022. 7. 20. 14:13
728x90
반응형
- MVC 패턴은 Model, View, Controller로 이루어진 디자인 패턴
- 애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소 에만 집중해서 개발할 수 있다
- 재사용과 확장성이 용이하다는 장점
- 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해진다는 단점

모델
모델은 애플리케이션의 데이터인 데이터베이스, 상수 변수 등을 뜻한다
뷰
뷰는 사용자의 인터페이스 요소를 나타낸다. 즉 모델을 기반으로 사용자가 볼 수 있는 화면
또한 변경이 일어나면 컨트롤러에 이를 전달해야 한다
컨트롤러
컨트롤러는 하나 이상의 모델과 하나 이상의 뷰의 중개자 역할을 하며 메인 로직을 담당
MVP패턴
MVC 패턴으로부터 파생되었으며 컨트롤러가 프레젠터로 교체된 패턴
뷰와 프레젠터는 일대일 관계이기 때문에 MVC 패턴보다 더 강한 결합을 지닌 디자인 패턴

MVVM 패턴
MVVM 패턴은 MVC의 컨트롤러가 뷰모델로 바뀐 패턴
- 뷰모델은 뷰를 더욱 추상화한 계층이며 MVVM 패턴은 MVC 패턴과는 다르게 커맨드와 데이터 바인딩을 가지는 것이 특징
- 커맨드란? 여러가지 요소에 대한 처리를 하나의 액션으로 처리할 수 있게 하는 기법
- 데이터 바인딩이란? 화면에 보이는 데이터와 웹 브라우저의 메모리 데이터를 일치시키는 기법으로 뷰모델을 변경하면 뷰가 변경된다
- 뷰와 뷰모델 사이의 양방향 데이터 바인딩을 지원하며 UI를 별도의 코드 수정 없이 재사용할 수 있고 단위 테스팅하기 쉽다

728x90
반응형