iOS/흡구오디 -> 어딨쥐

[어딨쥐] MVC에서 MVVM으로 리팩토링 하기 (1)

23g 2025. 12. 17.

MVC 패턴으로 되어있는 내 프로젝트를 MVVM으로 바꾸는 리팩토링을 해볼거다!

 

사실 얼마전에 Gemini 도움을 받아서 왕창 바꿨었는데

 

아직 개념도 다 잡히지 않은 상태에서 무작정 AI의 대답으로만 실행으로 옮기니

 

코드도 노답 내 이해 상태도 노답이라 롤백하고 다시 시작해본다!

 

첫번째 목표는 MarkerInfoInputViewController

 

비대해진 뷰컨을 MVVM 패턴으로 바꿔보자~

 

그러려면 먼저 뷰컨에서 어떤 일들을 하고 있는지 파악해봐야겠다는 생각이 들었다.

 

1. UI 구성 및 관리
- UI 요소 생성
- UI 레이아웃 구성
- 뷰 상태 변경

2. 사용자 입력 및 UI 상호작용 처리
- 텍스트 입력 처리
- 카테고리 및 태그 선택
- 이미지 업로드 및 처리
- 저장 버튼 활성화 및 비활성화
- 버튼 클릭 액션

3. 데이터 처리 및 저장
- Firestore 저장
- 수정 모드 처리
- 기존 이미지 삭제

4. 상태 변화 및 로직 관리
- isSaveButtonEnabled의 관리
- 태그 및 카테고리 관리

5. Firebase 및 저장된 데이터 관리
- Firestore 데이터 저장
- 이미지 URL 처리

 

정리해보니 머쓱하다

 

미안해 마커인포인풋뷰컨아

 

너한테 너무 많은 일들을 맡기고 있었구나;;;

 

 

그럼 이제 UI 관리는 View에서, 상태 및 비즈니스 로직은 ViewModel에서 처리하는 형태로 구조를 분리해보도록 하자

 

ViewModel은 입력 데이터, 저장 로직, 버튼 상태 관리 등을 처리하고,
뷰는 그저 ViewModel의 데이터를 바인딩하여 화면에 표시하는 역할만 하게 됩니다.

 

라고 챗지피티가 말해줌

 

대충 토르비욘이 망치로 뚱땅뚱땅하는 짤

댓글