2016-11-21 11 views
1

저는 iOS 개발에 익숙하지 않으므로 제 질문이 사소한 경우를 대비해서 실례합니다.iOS의 모델,보기 및 발표자를위한 다양한 프레임 워크?

MVP 또는 VIPER 패턴을 소개하려고합니다. 나는 웹 배경에서 왔고 우리는 다른 레이어/dll (모델, 뷰, 공통 등)을 따르곤했다. iOS에서 동일한 계층화 된 접근 방식 (이 경우 프레임 워크)을 따르는 것이 과연 과도 할 것입니까? 모델, 뷰 및 발표자를위한 다양한 프레임 워크를 만드는 샘플 프로젝트 (MVP 기반)를 발견하지 못했습니까? 누군가가 MVP 기반의 샘플 프로젝트를 공유 할 수 있다면 우리는 초보 프로젝트로 활용할 수 있습니다. Model/View/Controller - 아이폰 OS에서 사전

답변

2

에서

덕분에, 우리는 일반적으로 MVC를 사용합니다. 따라서 iOS 세계에서 아날로그를 찾고 있다면 바로 그 것입니다. MVC에 정말로 파고 들었고, 만족스럽지 않고, 다른 패턴을 소개하고 싶다면, 다른 질문입니다.

MVC와 같은 접근법에서 볼 수있는 책임의 논리적 구분은 과도하지 않습니다. 실제로 "뷰"및 "컨트롤러"클래스의 구분은 우리가 수행하는 모든 작업 (예 : UIView 서브 클래스, UIViewController 하위 클래스 등)의 중심이므로 실제로 수행해야하는 유일한 작업은 적절한 "모델"클래스를 디자인하는 것입니다. 너는 경주를 떠난다.

그러나 질문에 답하면 일반적으로 모델,보기 및 컨트롤러에 별도의 프레임 워크 대상을 사용하지 않습니다. 그것은 아마 과잉 일 것이다. 일반적으로 프로젝트 내의 Xcode 그룹/폴더를 현명하게 사용하여 모든 것을 추적 할 수 있습니다. 우리는 일반적으로보다 기술적 또는 논리적 인 이유 (라이브 뷰, 앱 확장, 여러 앱 간의 코드 공유 등 ... 프레임 워크를 일반적으로 프레임 워크를 사용하는 경우에 대한 설명은 WWDC 2015 Building Modern Frameworks 참조) 만 가져옵니다.

그러나 MVC 대 MVP 또는 VIPER (또는 MVVM 또는 기타)에 대한 질문. 나는이 모든 패턴의 공유 된 정신 (즉, 책임의 분리)을 단순히 받아 들여 iOS MVC 코드에 적용하는 것이 좋습니다. 일단 당신의 벨트 아래에서 iOS 경험이 있으면,이 패턴 질문을 다시 평가할 수 있습니다.

+0

. 또는 모델에 대해 다른 프로젝트 (iOS의 프레임 워크)를 만드시겠습니까? – Pragmatic

+0

@ 실용 - 아니요, 일반적으로 별도의 프레임 워크를 사용하지 않을 것입니다. 수정 된 답변보기 – Rob

1

iOS 개발을 시작할 때 훌륭한 아키텍처를 찾고 있다면 VIPER와 함께하십시오. 그것은 당신만큼 모든 잔인한에서이 아니다 :

1 - VIPER 파일 생성

2 자동화 - 자동화 VIPER 모듈 초기화를

을 위의 두 요구 사항을 달성하기 위해, 생성이 엑스 코드 플러그인 (https://github.com/natangr/ViperTemplate)를 사용 VIPER 파일을 자동으로 초기화합니다. 그것은 매력처럼 작동합니다!

그리고이 게시물을 읽고 https://www.ckl.io/blog/best-practices-viper-architecture하면 VIPER를 사용할 때 자동화하는 방법에 대한 정보를 얻을 수 있습니다.

심지어 아주 작은 프로젝트 (개발 160H)를 위해 그것을 사용합니까 내가 MVC 선택할 내가 같은 프로젝트에서 모델과 뷰/뷰 컨트롤러를 유지한다하더라도