http://www.object-arts.com/EducationCentre/Overviews/ModelViewPresenter.htm Wiki:ModelViewPresenter TwistingTheTriad ConnectingTheDots || Model || || View || || Presenter || ---- MVC 에서 유래. MVP 의 목적은 Model 과 View 사이의 Observer connection 에 대해 더 깔끔한 구현을 제공하는 것이다. MVP 는 실제로 3개의 클래스가 더 있다. 요약하면 * Presenter - 어플리케이션을 표현하고 코디네이트한다. 다른 오브젝트들을 생성하거나 관계를 맺는다. * Model - domain data * Selection - Model 의 서브셋을 구체화한다. (Command에 의해 조정된다.) * Command - 모델에 영향을 주는 것 (CommandPattern 과 같다) * Interactor - 키보드나 마우스 이벤트들을 Command 나 Selection 으로 매핑한다. * View - 모델을 (또는 일부) 출력. 어플리케이션을 이러한 방법으로 나누는 것은 좋은 SeparationOfConcerns 이 되며, 다양한 부분들을 재사용할 수 있도록 해준다. ---- http://www-106.ibm.com/developerworks/java/library/j-mvp.html {{| Model-View-Presenter or MVP is a next generation programming model for the C++ and Java programming languages. MVP is based on a generalization of the classic MVC programming model of Smalltalk and provides a powerful yet easy to understand design methodology for a broad range of application and component development tasks. The framework-based implementation of these concepts adds great value to developer programs that employ MVP. MVP also is adaptable across multiple client/server and multi-tier application architectures. MVP will enable IBM to deliver a unified conceptual programming model across all its major object-oriented language environments. C++, Java 의 다음 세대 프로그래밍 모델. Smalltalk 의 고전적인 MVC 프로그래밍 모델에서 나왔으며, 다양한 번위의 어플리케이션과 컴포넌트 개발 테스크를 위한 강력하면서 이해하기 쉬운 디자인 방법론. 이 개념의 framework-based 구현물은 MVP 를 em쓰는 개발 프로그램에 훌륭한 가치를 더해준다. MVP는 또한 다중 client/server 나 multi-tier 어플리케이션 아키텍쳐에도 적합하다. MVP 는 IBM 의 대부분의 OO Language 환경들에 대해 단일한 개념의 프로그래밍 모델을 제공해 줄 수 있을것이다. |}} 실제 IBM 의 샌프란시스코 프레임워크에 사용되었다고 들었던것 같다. (그래서 그런지 좀 추상적이면서 광고성의 문구로 보이긴 하다 -_-;) --[1002] ---- [디자인분류]