iOS 앱 점검(ObjC)

iOS 아키텍처 패턴 - Classic MVC

nightohl 2019. 5. 20. 18:04
반응형

iOS 아키텍처 패턴 - Classic MVC

원문 출처 : https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52

 

Classic MVC (Model, View, Controller)

우선 기본적으로 MVC, MVP, MVVM와 같이 MV(X) 패턴들은 다음과 같이 3가지 요소로 나뉜다.

일반적인 카테고리 특징은 아래와 같고, 패턴에 따라 조금씩 차이를 보인다.

Models

- domain data 또는  데이터를 다루는 data access layer를 담당하는 카테고리.

- ‘Person’, ‘PersonDataProvider’를 떠올려 보아라.

Views

- presentation layer (GUI)를 담당하는 카테고리.

- iOS 환경에서 접두사 ‘UI’가 붙었던 모든 것을 떠올려 보라.

Controllor / Presenter / ViewModel

- Model 카테고리와 View 카테고리를 연결, 조정하는 카테고리.

- 일반적으로 뷰에서 수행된 사용자의 동작에 반응하여 모델을 변경하고, 모델의 변경 사항을 뷰로 업데이트함..

 

[이점]

이렇게 구분함으로써

  1. 이해하기 더 쉬워짐
  2. 재사용에 용이
  3. 독립적으로 테스트 가능

이제 Classic MVC 만의 특징을 살펴보자.

 

View

: 상태가 없다 (stateless). Model의 변화에 따라 Controlloer에 의해서 단순히 redenring 될 뿐이다.

(웹 페이지에서 링크 클릭 시 단순히 페이지가 바뀌는 것을 생각해봐)

 

좋은 아키텍처는 책임 분배가 명확하여 각각이 독립성을 가져야 하는데, 이 경우에는 3가지 카테고리가 서로 긴밀하게 결합되어 있다.

독립성의 이점을 가지지 못한다고 볼 수 있다.

iOS 애플리케이션에서 Classic MVC 구현을 할 수는 있다만... 별 다른 장점이 없는 아키텍처 문제로 크게 와닿진 않는 방식이다.

 

==> 현대 iOS 개발에는 적합하지 않다. (안씀!)

 

반응형

'iOS 앱 점검(ObjC)' 카테고리의 다른 글

iOS 아키텍처 패턴 - MVP  (1) 2019.05.20
iOS 아키텍처 패턴 - Apple's MVC  (0) 2019.05.20
iOS 아키텍처 패턴 - 개요  (1) 2019.05.20
xcode simulator 명령어 기록  (0) 2019.01.17
IOS 리버싱 툴  (0) 2019.01.16