MVC 아키텍처에 대해 나름대로 조사하고 정리

2915 단어 mvcSwift
비망록

소개



MVC 아키텍처로 개발을 하고 있지만, 푹신한 이해이므로 정리해 이해를 깊게 하는 것이 목적.

원래 아키텍처는?


効率よく開発・運用していくための設計方法 의 일을 가리킵니다.

이 설계 방법을 의식하지 않고, 개발해 가면 몇개의 문제가 생겨 버립니다.

· 테스트가 어렵습니다.
· 개수 및 기능 추가가 어려움
・팀 개발시의 역할 분담이 곤란하다

etc...

등 써 갈 때가 없습니다.

FatViewController



아키텍처를 사용하지 않는 앱의 가장 큰 문제의 예로는 'FatViewController'를 들 수 있습니다.

앱도 복잡해지면 그만큼 하는 것이 늘어나요.
API 통신, 경고 표시, 로그인 기능, 오류 처리, 화면 전환 등 ....

이 처리의 코드를 모두 ViewController 에 기입했다고 합시다.
앱 자체는 움직이지만 내용은 굉장히 될 것으로 예상됩니다.

이것을 ViewController가 비대화했다는 것으로 "FatViewController"라고 불리고 있습니다.

「Fat」은 일본어 번역하면 「뚱뚱하다」입니다만
여기서 의미는 抱える責務が多くなっている状態를 나타냅니다.
시즈코, 그것 ViewController 아니 ..., FatViewController 또는 ....

MVC 아키텍처



이상의 문제를 피하기 위해 생각된 설계 방법의 하나가 MVCアーキテクチャ 입니다.Model · View · Controller 의 머리글자를 취하여 MVC라고 합니다.

그럼 각각의 역할에 대해 접해 봅시다.

· Model (class, struct 등)



데이터 유지, ビジネスロジック
※비즈니스 로직이라고 하는 것은, 「そのシステムにおける、システム固有の処理を行う部分」를 가리킵니다. 음식점을 검색하는 앱이라면 飲食店情報の取得 등의 부분.

· View (UIView, xib, storyboard 등)



앱 화면 표시 등 UI関係 를 담당하고 있다.

·Controller(UIViewController)



사용자 입력에 따라 ModelとViewの制御를 담당합니다.

MVC 흐름




출처 : 이제 MVC 등에서 iOS 앱을 만들려고했습니다 (Swift)

예를 들어,

・사용자로부터의 입력 액션을 ViewがControllerへと通知 하고, Modelのデータを更新 하거나.

Modelからのデータ更新の通知 을 받아, ControllerがViewの表示を更新 하거나.

등.

이 흐름의 설명으로서 굉장히 알기 쉬운 기사가 ​​있었으므로 올려 둡니다.
MVC 모델에 대한 내 해석

결론



결국 MVC로 해도 다른 아키텍처로 해도

何かしらのルールで1ファイル(1クラス)の責務を分けて、他に影響がないように小さくする分け方

라는 것입니다.

아직 MVC에서만 앱을 개발한 적이 없기 때문에 다른 아키텍처도 경험하고 싶네요.

좋은 웹페이지 즐겨찾기