MVVM 기존 MVC패턴은 View와 Model의 의존성이 존재하고, 앱의 규모가 커질수록 View의 크기가 커지고 Controller에 많은 부하가 걸려 유지보수에 어려움이 있었다. MVVM은 이를 해결하기 위한 디자인 패턴으로 Command 패턴과 Data Binding을 이용하여 View와 Model뿐만 아니라 View와 View Model 사이의 의존성까지 최소화 했다. Model : 데이터, 네트워크 로직, 비즈니스 로직 등을 담고 있으며, 데이터를 캡슐화하는 역할 ➡️ 화면에 그려지기 위한 데이터 / 모델은 하나로 존재하지 않음. 상황에 따라 다른 형태로 존재함. View : 사용자에게 보여지는 UI 화면 ViewModel : 핵심적인 비즈니스 로직으로, View에서 받은 이벤트를 처리하고 D..
Model 모델은 DB의 구조를 단순화, 추상화하여 체계적으로 표현하는데 사용되는 도구이다. 즉, DB의 테이블 또는 컬렉션에 저장 된 데이터를 나타낸다. 모델은 하나 이상의 필드를 가지고 있어야하고 모든 모델들은 고유한 식별자를 가지고 있다. Fluent에서 모델은 기본적으로 Codable을 채택하고, 모델 생성 시 반드시 빈 이니셜라이저를 가져야한다. final class Movie: Model { static let schema = "movies" @ID(key: .id) var id: UUID? @Field(key: "title") var title: String @Enum(key: "info") var info: Info init() { } init(id: UUID? = nil, title: S..