MVC -> MVVM으로 구조 변경해보기

MVVM은 무엇이고, 왜 사용해야할까?

많은 글들을 보고, 코드를 봤지만 나는 아직도 왜 MVVM이 필요한지 모르겠다..

그래서 MVC를 MVVM으로 리팩토링해보며 왜 필요한 지 공부해보고자 한다.

우선 내가 만들고자 하는 앱은 iTunes API를 이용해 음악 정보를 받아오는 아주 단순한 앱이다.

MVVM, MVC에서 공통적으로 사용하는 코드는 다음과 같다.

공통 코드

모델

import Foundation

struct MusicData: Decodable {
    let resultCount: Int
    let results: [Music]
}

struct Music: Decodable {
    
    let albumImage: String
    let musicTitle: String
    let artist: String
    let albumName: String
    let releaseDate: String
    
    enum CodingKeys: String, CodingKey {
        case albumImage = "artworkUrl100"
        case musicTitle = "trackName"
        case artist = "artistName"
        case albumName = "collectionName"
        case releaseDate = "releaseDate"
    }
}

네트워크 통신

Last updated