MVP 모델 정보

2200 단어 아키텍처

소개



이 기사에서는 MVP 모델에 대해 간단히 요약했습니다.
⚠️ 우리 쪽 초학을 위해 인식 차이가있을 가능성이 큽니다.
잘못을 발견했을 때는 코멘트에서 지적해 주시면 다행입니다 🙇‍♀️🙇‍♂️

참고



이 기사는 다음 정보를 참고하여 작성되었습니다.
  • MVC에서 벗어나고 싶기 때문에 MVP를 공부했습니다.
  • iOS 앱 디자인 패턴 입문
  • 지금까지 자신이 구현해 온 MVP는 중간 정도였다
  • Backbone.js의 Model-View-Presenter 아키텍처 패턴

  • MVP 모델이란?




    ( htps : // v.ぁsss d. jp / arc c ぇ s / 바 ck 흐림 js - mvp / 에서 인용)
    Presenter : View로부터 양도를 받고 Model에 변경 지시를 보낸다. Model에서 콜백을 받아 View를 업데이트.
    Model : 지시를 받아 자신을 갱신.
    변경 후 콜백 등을 실시한다.
    View : 화면 그리기 담당.

    또, MVP와 MVC의 차이는, MVC는 옵저버 동기에 대해, MVP는 플로우 동기라고 하는 점.
    ※덧붙여 iOS 앱 설계 패턴에는, 설계 변경의 동기, 레이어의 역할의 어느 쪽으로부터 봐도 같은 패턴이라고 생각해도 좋다고 쓰여 있다.

    MVP의 장점


  • 테스트가 비교적 쓰기 쉬운
  • 프로토콜은 레이어 간의 의존성을 줄일 수 있습니다
  • 소규모 개발에는 딱 좋은 경우가 많다
  • iOS 개발에 한해서 ViewController에서 처리를 줄일 수 있습니다 (MVC 비교)

  • 모델



    데이터 관리 및 데이터와 관련된 작업 및 처리를 정의합니다.
    Presenter에서 양도된 처리를 실행(데이터의 취득 등).
    처리 후, Presenter에 콜백을 실시한다.
    ※iOS 개발에 있어서는, import UIKit를 쓰지 않는다(UI를 고려하지 않는다)

    보기



    사용자가 보거나 조작하는 화면을 표시합니다.
    Presenter에게 유저로부터 받은 이벤트를 이양해, 돌아온 처리 결과를 표시.
    데이터에 영향을 미치는 처리는 일절 쓰지 않는다.

    Presenter



    Model 및 View 중개자.
    View로부터 받은 이벤트를 바탕으로 Model에 처리를 이양.
    Model의 처리 결과를 받아 View에 통지.
    ※iOS 개발에 있어서는, import UIKit를 쓰지 않는다(UI를 고려하지 않는다)

    좋은 웹페이지 즐겨찾기