728x90
MVC 란?
MVC = Model View Controller의 3개의 그룹으로 나눈다
-
Model 그룹 : 프로그램이 하는 일 자체를 말한다. UI와는 독립적이다. 계산기로 따지면 계산하는 일 처리 같은 것 . 보통 foundation 모듈 import (core service)
-
View 그룹 : UI적인 부분을 말한다. 버튼이나 디스플레이 같은 것들이 해당됨. Main.stroyboard가 여기에 해당
-
Controller 그룹 : Model과 View를 연결하는 역할을 하는 것. UIkit 모듈 import . ViewController.swift 가 여기에 해당
MVC의 Controller는 반드시 UIViewController를 상속받아야 함.
일반적으로 ios에선 MVC 한 개가 아이폰 화면 한개를 제어한다. 따라서 진짜 앱을 만들기 위해서는 여러 MVC를 만들어서 결합해야한다.
MVC 모델은 Model 과 View 가 다이렉트한 상호작용이 불가능하다. 따라서 컨트롤러가 중간 역할을 해준다.
모델은 컨트롤러에게 직접적으로 전달하지 않으며 브로드캐스트처럼 알림 을 공지한다(비유적)
MVC 단점
MVC 패턴의 경우에는 규모가 커질수록 Controller 가 커진다.
하나의 예를 들면, Controller 가 다수의 View 를 선택할 수 있듯이 하는 일이 너무 많아질 수 있다. 뷰 - 컨트롤러 (1:다 , 다:다 가능)
또한 많은 패턴으로 인해, 복잡성이 증가함에 따른 문제점들이 발생한다.
728x90
반응형
'iOS스터디 > iOS' 카테고리의 다른 글
[xcode] extension 언제 사용? (0) | 2021.01.19 |
---|---|
[xcode] Animating View Properties (0) | 2021.01.16 |
[ios] IOS 디자인 패턴 Design Pattern (0) | 2021.01.15 |
[IOS] MVVM 모델 개념 (0) | 2021.01.02 |
[인프런] IOS 앱개발 입문 2편 수료 (0) | 2020.12.31 |