🌱 오늘의 주제 : 디자인 패턴 (2)
🌱 MVC 패턴
- MVC패턴은 모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴이다.
- 애플리케이션의 구성 요소를 세가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발할 수 있다.
- 재사용성과 확장성이 용이하다는 장점이 있다.
- 애프릴케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해지는 단점이 있다.
🌱 모델 (Model)
- 모델은 애플리케이션의 데이터인 데이터베이스, 상수, 변수 등을 뜻합니다.
- 뷰에서 데이터를 수정하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신합니다.
🌱 뷰(View)
- 모델을 기반으로 사용자가 볼 수 있는 화면을 뜻한다.
- 모델이 가지고 있는 정보를 따로 저장하지 않아야 하며 단순히 사각형 모양 등 화면에 표시하는 정보만 가지고 있어야 한다.
🌱 컨트롤러 (Contorller)
- 컨트롤러는 하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할을 하며 이벤트 등 메인 로직을 담당한다.
🌱 MVP 패턴
- MVC패턴으로부터 파생되었다.
- MVC에서 C에 해당하는 컨트롤러가 프레젠터(presenter)로 교체된 패턴이다.
- 뷰와 프레젠터는 일대일 관계이기 때문에 MVC 패턴보다는 더 강한 결합을 지닌 디자인 패턴이다.
🌱 MVVM 패턴
- MVC의 C에 해당하는 컨트롤러가 뷰모델(view model)로 바뀐 패턴이다.
- 커맨드와 데이터 바인딩을 가지는 것이 특징이다.
- 뷰와 뷰모델 사이의 양방향 데이터 바인딩을 지원하며 UI를 별도의 코드 수정 없이 재사용할 수 있고 단위 테스팅하기 쉽다는 장점이 있다.
'Computer Science > 디자인 패턴' 카테고리의 다른 글
CS - 디자인 패턴 정리(2) (0) | 2023.07.12 |
---|---|
CS - 디자인 패턴 정리 (0) | 2023.07.10 |
CS - 프로그래밍 패러다임 (0) | 2023.06.27 |
CS - 디자인 패턴 (1) (0) | 2023.06.26 |