[TIL] MVC 패턴으로 설계하기 - 챌린지반 과제 2일차 -

신승현·2024년 4월 5일

TIL

목록 보기
54/72
post-thumbnail

오늘은 MVC 패턴에 아는대로 작성하고, 그 패턴에 맞게 과제를 설계해보려고 한다.

1️⃣ MVC 패턴이란?

MVC는 Model, View, Controller의 줄임말로 하나의 프로젝트를 구성할 때, 이 3개를 이용해서 구성하는 것이 MVC 패턴이라고 한다.
출처 : Cocoa - MVC

여기서 Model은 데이터를 가지고 있는 부분이라고 말할 수 있고, View는 사용자에게 보여지는 부분이고, Controller는 그 사이에서 데이터를 처리하거나 데이터를 보일 수 있도록 하는 부분이다.

내가 알고있는 방식으로 설명하면 이렇지만, 실제로는 각각을 설계할 때 규칙들도 존재하고, 많은 내용들이 생략되어 있다.

2️⃣ MVC 패턴으로 설계하기

이번 심화반 과제에서 만들어야 하는 어플은 아래 사진과 같다.

GitHub에서 자신의 프로필을 가져오고, Repository도 가져와서 출력하는 어플이다.

그래서 우선 데이터구조를 설계 해봤다.

import Foundation

struct Profile {
    let id: String
    let name: String?
    let region: String?
    var followers: Int?
    var following: Int?
    let image: String?
}

위의 구조체는 어플에 상단에서 보여지는 프로필 부분의 데이터를 받아서 저장시킬 수 있도록 설계했다. id를 제외한 부분은 필수가 아니기 때문에, Optional로 설계했다.

어플화면에서 Repository들을 보여지는 부분의 데이터는 cell을 클릭했을 때 화면이 넘어가서 보여지는 부분도 구현할 수 있기 때문에, 아직 정확한 설계를 하지 못했다.

3️⃣ 마무리

솔직히 아직도 완벽하게 MVC 패턴을 이해하고, 그대로 설계할 수 있다고는 말할 수 없지만, 인턴생활과 간단한 프로젝트 그리고 구글링을 통해 많은 사람들의 코드를 보면서, 어떤 형식이 MVC 패턴이고 MVC 패턴으로 설계하면 확실히 유지보수가 편하고 기능추가 부분이 쉬워지는 것을 경험했기 때문에 경험에 빗대어서 MVC 패턴으로 설계해 보려고 한다.

profile
개발자

0개의 댓글