MVVM 아키텍처 패턴 총정리

HR SO·2021년 5월 14일
0

MVVM 아키텍처 인가? 패턴인가?

1. 아키텍처란?

시스템 구성과 동작 원리 등 최상의 소프트웨어를 구성하는 설계도

2. 디자인 패턴이란?

좋은 코드를 설계하기 위한 방법론

3. 결론적으로 "아키텍처 패턴" 이 정확한 표현 같다.

아키텍처 패턴의 종류

1. MVC 패턴

Architecture의 기본중의 기본
안드로이드와 관계없이 프로그래밍 시 가장 널리 사용되는 구조 중 하나

2. MVP 패턴

UI(View)와 비즈니스 로직(Model)을 분리
서로 간에 상호작용을 다른 객체(Presenter)에 역할하여 서로의 영향(의존성)을 최소화

3. MVVM 패턴

기능적으로 작은 단위로 나누어 테스트가 쉽고 큰 프로젝트도 상대적으로 관리하기가 좋은 구조

4. 안드로이드 권장 아키텍처

android os는 사용자가 언제든지 앱 구성요소를 제거 할수 있으므로, 구성요소에 앱 데이터와 상태를 저장하면 안됨

5. MVVM+Clean Architecture+DI

아키텍처 패턴을 사용하는 이유

  • Testable과 유지보수 및 협업 향상

한국에서 안드로이드 앱을 개발하는 회사의 기술 스펙 아카이브

https://github.com/sjjeong/android-tech-spec-in-korea-company

마무리

  • 각 아키텍처별로 장단점이 분명 존재하고 개발 스펙, 기획, 프로젝트 규모, 팀구조 등 상황에 따라 비교하여 검토 후 알맞게 사용해야 한다

참고

https://velog.io/@jojo_devstory/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-%ED%8C%A8%ED%84%B4-MVVM%EC%9D%B4-%EB%AD%98%EA%B9%8C

profile
Android Developer 주니어 개발자

0개의 댓글