Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- #스파르타내일배움캠프TIL
- 스레드
- Java의 이점
- 해우소
- 인스턴스
- #스파르타내일배움캠프
- 생성자
- Github_token
- 스파르타내일배움캠프TIL
- 회고록
- 변수의 다양성
- static
- 포맷은 최후의 보루
- Diary 해우소
- diary
- Java
- Token
- TiL_1st_0419
- Git
- KPT
- 감사기록
- 성장기록
- 내일배움캠프
- 객체지향 언어
- 스파르타내일배움캠프
- #내일배움캠프
- JVM
- GitHub
- 클래스
- 메서드
Archives
- Today
- Total
몬그로이
MVP 패턴 본문
아키텍처 패턴의 하나, MVP (Model–view–presenter)
MVP 패턴은 MVC 패턴의 변형 또는 발전형으로 볼 수 있다
- Model: 사용자 입력에 대응하거나 보여지기 위한 데이타를 정의하는 인터페이스이다.
- View: 데이타를 보여주고, 사용자 입력을 수신하는 수동적(passive) 인터페이스이다.
- Presenter: Model로부터 데이타를 받아 View에 표시하기 위해 가공한다.
In MVP, the presenter assumes the functionality of the "middle-man". In MVP, all presentation logic is pushed to the presenter.
( MVP 패턴에서는, presenter 가 middle-man 의 기능을 맡는다. 모든 presentation 로직이 presenter 에게 push 된다)
MVC 와 MVP의 차이점
MVC와 다른점은 Model과 View가 직접적인 참조/호출 관계를 가지지 않는다는 점이다
- Controller vs Presenter: Controller는 주로 사용자 입력을 처리하고 Model과 View를 업데이트하는 역할을 합니다. Presenter는 View와 Model 사이의 중개자 역할을 하며, View와 상호작용하는 비즈니스 로직도 처리합니다.
- Service 레이어: MVC 패턴에서는 복잡한 비즈니스 로직을 Service 레이어에서 처리하며, 이 레이어는 Controller와 Model 사이에 위치합니다. MVP 패턴에서는 Presenter가 이러한 비즈니스 로직을 처리하는 경우가 많습니다.
- View와의 상호작용: MVC 패턴에서는 View가 종종 Controller를 직접 호출하여 상호작용하는 반면, MVP 패턴에서는 View가 Presenter를 호출하고 Presenter가 Model과 상호작용합니다.
MVP 패턴의 장점
- 유지보수성: View와 Presenter의 명확한 분리로 인해, 코드를 수정하거나 확장할 때 영향을 최소화할 수 있습니다.
- 테스트 용이성: Presenter의 로직을 독립적으로 테스트할 수 있어, View의 구현에 의존하지 않고도 다양한 시나리오를 테스트할 수 있습니다.
참고
https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter
https://62che.com/blog/architecture/mvc-mvp-mvvm-%EB%B0%94%EB%A1%9C%EC%95%8C%EA%B8%B0.html#mvp
https://recordsoflife.tistory.com/1140
'Organizing Docs' 카테고리의 다른 글
RDBMS 의 정규화 (0) | 2024.07.18 |
---|---|
NoSQL, RDBMS (0) | 2024.07.18 |
자바의 정석 7. 객체지향 프로그래밍2 (0) | 2024.07.01 |
H2 (0) | 2024.06.26 |
H2 연결 오류 해결하기 (0) | 2024.06.26 |