-
디자인패턴 5 - MVC, MVP , MVVM 패턴Today I Learned/CS공부 2023. 12. 26. 19:44
1. MVC 패턴
MVC패턴은 모델, 뷰, 컨트롤러로 이루어진 패턴입니다. 모델(Model): 데이터와 데이터를 처리하는 부분을 담당합니다. 데이터의 상태를 유지하고, 데이터를 조작하거나 변경하는 작업을 수행합니다. 뷰(View): 사용자에게 보여지는 부분으로, 사용자 인터페이스를 담당합니다. 모델에서 가져온 데이터를 시각적인 형태로 표현하며, 사용자와의 상호작용을 담당합니다. 컨트롤러(Controller): 사용자 입력을 처리하고 그에 따라 모델과 뷰를 업데이트하는 부분입니다. 사용자가 뷰를 통해 요청을 하면 컨트롤러가 이를 수신하여 모델을 업데이트하고, 변경된 내용을 뷰에 반영합니다.
2. MVP 패턴
MVP패턴은 MVC패턴에서 파생되어, MVC의 C에 해당하는 컨트롤러가 프레젠터 (presenter)로 교체된 패턴입니다. 뷰와 프레젠터는 일대일관계이기 때문에, MVC패턴보다 더 강한 결합을 지닌 디자인패턴입니다.
3. MVVM 패턴
MVVM패턴은 MVC의 C에 해당하는 컨트롤러가 뷰모델(view model)로 바뀐 패턴입니다. 여기서 뷰모델은 뷰를 더 추상화한 계층이며, MVVM패턴은 MVC패턴과는 달리 커맨드와 데이터 바인딩을 가지는 것이 특징입니다. 뷰와 뷰모델 사이에 양방향 데이터 바인딩을 지원하며 UI를 별도 코드 수정없이 재사용할 수 있고, 단위테스팅하기 쉽다는 장점이 있습니다.
'Today I Learned > CS공부' 카테고리의 다른 글
프로그래밍 - 선언형 프로그래밍, 함수형 프로그래밍 (0) 2023.12.30 디자인패턴 6. 프록시패턴, 프록시 서버 (0) 2023.12.28 디자인패턴 4- 이터레이터 패턴, 노출모듈 패턴 (0) 2023.12.24 디자인 패턴 3- 옵저버 패턴, 프록시 객체 (0) 2023.12.23 디자인 패턴 2. 팩토리 패턴, 전략 패턴 (0) 2023.12.22