VP 및 MVVM 대충 정리

2788 단어 Android

입문


업무상 안드로이드 응용 프로그램을 전문적으로 개발하다.
다만, 지금까지 체계적 구조를 제대로 배우지 못한 면이 있다.
그래서 이번에 Android 개발에서 자주 듣던 MVP와 MVVM의 디자인 방법과 아이디어를 조사해 보고 그 내용을 정리해 보려고 글을 썼습니다.
이번 투고는 처음이고 이 보도 자체도 대략적인 개념 부분만 썼기 때문에 저는 계속해서 실제 설치를 하고 테스트 코드를 써 보고 싶습니다.만약 기회가 있다면, 나는 너도 언제든지 향상시킬 수 있기를 바란다.
(Android를 말하면서 Android 코드가 안 나와요...)
참고로 이번에 참고한 책은 여기 입니다.

MVP


사용자 인터페이스의 각 관심사를 모델, View, Presenter 등 세 가지 역할로 나눕니다.
사용자 인터페이스의 복잡성을 해결하기 위한 설계

  • Model
  • UI와 관련된 데이터를 정의하고 데이터 구조를 제공하는 인터페이스

  • View
  • 모델에 정의된 데이터를 표시하고 이벤트를 Presenter
  • 에 전달
  • 디스플레이 처리를 위한 수동 인터페이스

  • Presenter
  • 운영 Model 및 View
  • 모델에서 데이터를 가져와 View에 표시하는 논리 담당

  • 의식하고 싶은 점


    · 우선 어떤 방면에서든 각급의 역할을 명확히 해야 한다
    VP뿐만 아니라 역할을 명확히 하고 다른 일을 하지 않는 것이 중요하다.따라서 각 반은 자신의 역할에 전념할 수 있고 다른 반이 안에서 무엇을 하는지 의식하지 않아도 된다.(단일 책임 원칙)
    ・ 인터페이스를 통해 모크를 사용하여 테스트 가능
    처리가 적당한 클래스에 있거나 분할되는 것도 중요하지만 인터페이스를 통해 제작되어 다른 클래스에 의존하지 않는 테스트를 할 수 있다.(Dependency Injection)
    구글이 공개한 샘플 코드는 여기.

    VVM이란 무엇입니까?


    UI 분리를 위한 아키텍처이기도 합니다.
    모델, 뷰, 뷰 모델 등 세 가지 역할로 나뉩니다.
    사용자 인터페이스와 업무 논리가 관련된 데이터 귀속 메커니즘을 가정하다

  • Model
  • 애플리케이션 도메인 모델
  • 데이터 구조 외에 업무 논리를 나타내는 단원도 포함

  • View
  • 사용자가 보는 구조, 레이아웃 및 모양새 정의
  • 과 업무 논리 분리

  • ViewModel
  • Model 및 View 의 중개자로서 디스플레이와 관련된 논리 담당
  • 보기 편한 데이터 제공을 위한 모델 조작

  • 의식하고 싶은 점


    · MVP와 다른 점은 모델(데이터 섹션)이 변경되면 View가 자동으로 업데이트된다는 점입니다.
    VP에서는 Presenter가 View에 대한 참조를 가지고 있기 때문에 Presenter에서 View를 현저하게 호출하여 업데이트할 수 있지만 MVVM에서ViewModel은 View에 대한 참조가 없어서 View를 직접 업데이트할 수 없습니다.반대로 MVVM 모드를 사용하면 레이아웃 파일을 사용하여 ViewModel에서 볼 수 있는 필드를 UI 요소로 바인딩할 수 있습니다.(Data Binding)
    구글이 공개한 샘플 코드는 여기.

    느끼다


    Presenter와 View Model의 MVP 역할은 상당히 비슷하다고 생각합니다.우선 캐릭터를 MVP의 3개로 나눈다. P와 V의 부분을 DataBinding으로 묶으면 우선적인 형식만 MVVM이라고 생각한다.형식일 뿐이에요(웃음).
    또한 MVVM은 데이터 바인딩에 대한 지식이 필요하므로 더 높은 문턱에 도달할 수 있습니다.그런 의미에서 배우려면 MVP를 먼저 이해하고 MVVM을 시작하는 것이 좋다.물론 구조는 이 두 가지가 아니기 때문에 다른 방법을 배우면서 자신의 프로젝트에 맞는 디자인 방법을 찾았으면 좋겠다고 생각합니다.

    좋은 웹페이지 즐겨찾기