목적
업무 로직(Business Logic) 및 데이터(Model)와 보이는 부분(View)을 분리
요소
문제 : 데이터와 해당 데이터를 보여주는 부분(뷰)의 코드가 섞여있음
해결 : 데이터와 뷰를 분리하고 이들을 연동시키는 컨트롤러를 추가
결과 : loose coupling, 재사용성
설계
- 모델 : 데이터를 관리하는 부분
- 뷰 : 화면에 보이는 부분
- 컨트롤러 : 사용자의 입력을 처리하고, 모델과 뷰 사이에서 상호작용을 할 수 있도록 지원
MVC 패턴의 장단점
장점
- 클래스간 정보 공유를 최소화시킴 - 모델과 뷰가 서로에 대해 잘 몰라도 됨
- 같은 모델에서 여러 개의 뷰를 지원할 수 있음
단점
- 뷰가 업데이트 되어야 함을 알려줘야함 - 모델이 뷰에게 데이터를 직접 전달하는 것 보다 비효율적임
- 컨트롤러의 역할이 너무 커질 수 있음
reference : 상명대학교 조용주 교수님
'컴퓨터과학 > 디자인패턴' 카테고리의 다른 글
[디자인패턴] 컴포짓 패턴 (Composite Pattern) (0) | 2021.12.13 |
---|---|
[디자인패턴] 템플릿 메소드 패턴 (Tempalate Method Pattern) (0) | 2021.12.11 |
[디자인패턴] 상태 패턴 (State Pattern) (0) | 2021.12.11 |
[디자인패턴] 커멘드 패턴 (Command Pattern) (0) | 2021.12.06 |
[디자인패턴] 퍼사드 패턴 (Facade Pattern) (0) | 2021.12.05 |
댓글