컴파운드 패턴-MVC
DesignPartterns - 컴파운드 패턴-MVC
MP3에대한 MVC
디자인 패턴의 관계에서 바라본 MVC
- 사용자는 뷰하고만 접촉할 수 있다.
- 컨트롤러에서 모델한테 상태를 변경하라는 요청을 한다.
- 컨트롤러에서 뷰를 변경해 달라고 요청할 수도 있다.
- 상태가 변경되면 모델에서 뷰한테 그 사실을 알린다.
- 뷰에서 모델한테 상태를 요청한다.
패턴 안경을 끼고 MVC를 살펴보자
- 스트래티지 패턴의 적용 원칙
자주 바뀌는 부분(기능)을 바뀌지 않는 부분과 분리하여 캡슐화 한다.
스트래티지 패턴(뷰와 컨트롤러) - 뷰 객체를 여러 전략을 써서 제공한다. 전략은 컨트롤러가 제공한다. 뷰에서는 애플리케이션의 겉모습에만 신경을 쓰고, 인터페이스의 행동에 대한 결정은 모두 컨트롤러한테 맡긴다. 스트래티지 패턴을 사용하는 것은 뷰를 모델로부터 분리시키는데 도움이 된다.
컴포지트 패턴(뷰) - 디스플레이는 여러 단계로 겹쳐져 있을 수 있는 일련의 윈도우, 패널 버튼, 텍스트 레이블 등으로 구성된다. 각 디스플레이 항목은 복합객체 또는 잎이 될 수 있다. 컨트롤러에서 뷰한테 화면을 갱신해 달라고 요청하면 최상위 뷰 구성요소한테만 화면을 갱신하라고 애기하면 된다. 나머지는 컴포지트 패턴에 의해 자동으로 처리된다.
옵저버패턴(모델) - 모델에서는 옵저버 패턴을 써서 상태가 변경되었을 때 그 모델하고 연관된 객체들한테 연락을 한다. 옵저버 패턴을 사용하면 모델을 뷰 및 컨트롤러로부터 완전히 독립시킬 수 있다. 한 모델에서 서로 다른 뷰를 사용할 수도 있고, 심지어 여러 개의 뷰를 동시에 사용하는 것도 가능하다.
Share this post
Twitter
Google+
Facebook
Reddit
LinkedIn
StumbleUpon
Email