android MVI 을 알아보자

Assist·2023년 7월 1일
0

Design Pattern

목록 보기
4/7

오늘은 android 에서 새로 뜨고 있는 패턴인 MVI 패턴에 대해서 알아보겠습니다.

왜 MVI 인가?

일단 왜 mvi 가 스멀스멀 올라왔는지 알아봐야 할거 같습니다 .

많이 이용하는 MVVM 패턴 에서 개발자들 사이에서 불많이 나왔던것 같습니다.

  • 상태 문제와 부수 효과
  • ViewModel 에서의 input , output 관리
  • 복잡하게 분산된 비즈니스 로직 입니다.

그럼 MVI 은 무엇인가?

  • Model : 앱의 비즈니스 로직 처리 생태 변경 및 데이터 처리(MVVM 의 ViewModel or usecase 역활)
  • view : 앱의 UI을 처리합니다. 불변의 데이터 구조를 이용하며 뷰는 인텐트를 발생시켜 ㅁ모델에 전달후 모델은 처맇나 결과를 다시 불변의 데이터 구조를 받아 화면을 구성
  • Intent : 뷰에서 사용자의 액션을 모델에 전달 합니다

약간 MVVM 패턴을 매우 압축한 느낌이네요

MVVM 에서 ViewModel 와 Repository 을 압축한것으 -> Model
MVVM 에서 LiveData -> Intent

이라는 느낌이 납니다.

MVI 패턴의 장점

  • 안정성
    MVI 패턴은 불변의 데이터 구조를 사용하여 안전성을 보장합니다
  • 데이터의 단방향
    이전 MVVM 패턴은 VIEW에도 데이터를 전달하고 Repository에도 데이터를 연결해서 양방향이였죠
    하지만 MVI 은 단방향 오직 Model to View여서 단방향입니다.

그외 성능 개선 등의 있지만 성능 개선은 MVVM 패턴에서 ViewModel 하나 삭제했다고 성능이 많이
올라갈까는 아직까지는 조사가 필요할거 같습니다

음 솔직히 해서 프로그래머스 30분을 제외하고 1시간 50분을 조사만 해왔는데 한국 자료만 조사해서 이런 상황이 벌어진거 같습니다.

다음에는 영미권 자료도 한번 조사해 보겠습니다

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

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

0개의 댓글