ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MVVM이 뭔데? 그럼 서버 통신은 어디다가? 데이터는 어디에?
    안드 음성 STT 미라클 모닝 앱 2023. 5. 22. 10:41

    MVVM


    MVVM(Model-View-ViewModel)은 안드로이드 애플리케이션을 개발하기 위한 인기 있는 아키텍처 패턴입니다. 이 패턴은 애플리케이션의 3가지 구성 요소인 모델, 뷰, 뷰모델을 분리하여 애플리케이션 코드의 복잡성을 줄이고 유지 관리를 쉽게 합니다.

    모델: 모델은 애플리케이션의 데이터를 나타냅니다. 일반적으로 Room, LiveData 및 ViewModel과 같은 도구를 사용하여 데이터베이스 또는 기타 소스에서 가져옵니다.


    : 뷰는 애플리케이션의 사용자 인터페이스(UI)를 나타냅니다. 일반적으로 XML 파일을 사용하여 생성되며 사용자 입력에 응답합니다.


    뷰모델: 뷰모델은 모델과 뷰 간의 중개자 역할을 합니다. 뷰에서 모델에 대한 요청을 처리하고 모델의 데이터를 뷰에 업데이트합니다.


    MVVM 패턴은 다음과 같은 여러 가지 이점을 제공합니다.

    코드 복잡성 감소: MVVM 패턴은 모델, 뷰 및 뷰모델을 분리하여 애플리케이션 코드의 복잡성을 줄입니다. 이렇게 하면 코드를 더 쉽게 이해하고 유지 관리할 수 있습니다.


    유지 관리 용이성: MVVM 패턴은 애플리케이션의 UI를 변경하는 것이 더 쉬워 유지 관리를 쉽게 합니다. 이는 뷰모델이 UI에 의존하지 않기 때문입니다.


    테스트 용이성: MVVM 패턴은 애플리케이션 코드를 테스트하기 쉽게 합니다. 이는 뷰모델이 테스트하기 쉬운 깨끗한 인터페이스를 제공하기 때문입니다.



     

     

    서버와의 통신 설정은 어디에?!

     

     

    서버와의 통신 설정은 뷰 모델에 들어가야 합니다. 뷰 모델은 모델과 뷰 간의 중개자 역할을 하며 모델에 대한 요청을 처리하고 모델의 데이터를 뷰에 업데이트하는 역할을 합니다. 따라서 서버와의 통신은 뷰 모델에 구현하는 것이 가장 좋습니다.

    예를 들어, 뉴스 애플리케이션을 개발 중이고 뉴스 기사 목록을 표시하는 뷰가 있다고 가정해 보겠습니다. 뉴스 기사 목록을 가져오기 위해 서버와 통신해야 합니다. 이 경우 뉴스 기사 목록을 가져오는 코드를 뷰 모델에 구현합니다. 뷰 모델은 그런 다음 뉴스 기사 목록을 뷰에 업데이트합니다.

    뷰 모델에 서버와의 통신을 구현하면 다음과 같은 몇 가지 이점이 있습니다.

     

     

    뉴스 기사에 대한 데이터는?

     

    뉴스 기사 애플리케이션의 경우 모델에는 뉴스 기사에 대한 데이터가 들어가야 합니다. 여기에는 뉴스 기사의 제목, 설명, 작성자 및 게시 날짜가 포함될 수 있습니다. 모델은 또한 뉴스 기사를 저장하고 검색할 수 있는 기능을 제공해야 합니다.

    댓글

Designed by Tistory.