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 : 상태 정보 필요
MVC pattern = Observer 패턴 + Strategy 패턴
public class BeatController implements ControllerInterface { //context
BeatModelInterface model; // Strategy : polymorphic composition
..
}
observer
옵저버들은 언제든지 모델의 상태 변경을 통지 받는다.
strategy
Controller는 뷰를 위한 strategy
뷰는 컨트롤러에게 위임
Head First Design Pattern
댓글