본문 바로가기
소프트웨어공학/디자인 패턴

MVC 패턴 , Model - View - Controller | [Design pattern] 디자인 패턴

by javapp 자바앱 2021. 12. 29.
728x90

 

 

MVC Pattern

 

사용자 인터페이스를 구현하기 위한 구조 패턴

 

  • Model로 부터 UI를 분리
  • 동시 개발 가능, Loose coupling, 용이한 변경
  • high cohesion: grouping related actions on A controller, grouping views for A model.

 

 

구성요소)

Model : 어플리케이션 객체

View : 모델을 스크린에 표현

         갱신된 model의 상태를 즉각 반영

         one model <-> multiple different views

         composite view

Controller : 입력에 따라 반응 방식 바꿈

 

 

 

1. View --> Controller : 유저 행동

2. Controller --> Model : 상태 변경

3. Controller --> View : Display 변경

4. Model --> View : 변경되었음을 알림

5. View --> Model : 상태 정보 필요

 

3-tier architecture and MVC pattern

 

 


 

 

MVC pattern = Observer 패턴 + Strategy 패턴

 

 

 

 

public class BeatController implements ControllerInterface { //context
 	BeatModelInterface model; // Strategy : polymorphic composition
 ..
 }

 

 

observer

옵저버들은 언제든지 모델의 상태 변경을 통지 받는다.

 

 

strategy

Controller는 뷰를 위한 strategy

뷰는 컨트롤러에게 위임

 

 

 

 

 

 

 

 

 

 

Head First Design Pattern

댓글