Clean code 관련 멘토님와 대화 정리

Assist·2023년 6월 17일
0

Design Pattern

목록 보기
1/7

안녕하세요

오늘은 멘토님와의 대화에서 나온것중에 공부한것을 정리해보려고 합니다.

MVP이란 ?

MVP 패턴이란 Model <-> Presenter <-> Model 의 형식을 말합니다.

model

앱에 사용되는 데이터를 관리 하는담당 합니다 .ex) db , Network API 작업 

View

사용자에게 보여질 인터페이스 ex) activity , fragment (뭐 다들 아시는데 그냥 썼습니다)

Presenter

View 와 Model 사이 중개자 담당 
ex) View : 로그인 하고 싶어 !!! ID , password을 줄꺠!!! 
Presenter : wait , Model 로그인 요청 
Model : Okay 
Model : 로그인값 retrun 
Presenter : View 로그인성공 
View : 창전환 

이렇게 구성이 되있습니다.

MVVM 의 ViewModel 와 다른점이 뭘까요?

  1. 데이터 바인딩

    • MVP의 Presenter 는 View로 직접 상호작용하여 데이터를 업데이트
    • MVVM 의 ViewModel 는 LiveData을 통해 업데이트를 하며 View은 ViewModel의 LiveData을 Observer을 합니다.
  2. 결합도

    • MVP : View로 직접 상호작용 하기 때문에 결헙도가 생깁니다.
    • MVVM : ViewModel은 View 에 대한 참조가 안이러우지며 데이터 바인딩 떄문에 약간의 결합도가 생깁니다.

이정도가 차이점이라고 생각됩니다.

아 그리고 MVVM패턴 및 디자인 패턴에 데해서 공부를 하다가 과연 선언적 UI(JectPack compose)에도 뭐가 좋을까 궁금해서 공부를 하고 있었는데 흥미로운 글을 발견해서 가져왔습니다

https://gist.github.com/unnnyong/439555659aa04bbbf78b2fcae9de7661

글에 대해 보면 대충

선언적 UI의 등장으로, ViewModel은 존재이유를 잃고 있다.

일본 ios 개발자들의 글을 번역한것이며 Android 에서도 슬슬 MVVM 을 지우고 다른 작업을 하고 있다는 뉘양스 이네요.

재미있는 글이라 한번 가져왔습니다.

그럼 읽어주셔서 감사합니다
-피드백와 비판은 언제나 환영입니다-

profile
안드로이드만 좋아하는 특이한 개발자

0개의 댓글