MVC 패턴
설명
Apple의 MVC를 학습하기전에 전통적인 MVC에 대해 알아보자!
그림을 보면 MVC가 모두 밀접하게 연관되어 있다
이는 곧 재사용성이 떨어짐을 의미한다
그만 알아보자
전통적인 MVC는 iOS에 적합해 보이지 않는다!
Apple이 권고하는 MVC에 대해 알아보자.
그림에서 볼 수 있듯 Controller는 중간에서 Model과 View를 이어준다
Model – View는 서로 알 필요가 없다
Controller는 여전히 재사용이 어려워 보인다
한계
위의 그림과 대조적이게 실제로 Cocoa MVC는 다음 그림과 같다
왜 위와 같이 구성될까?
- Controller는 View를 가지고 있다.(그래서 이름도 ViewController다)
- 따라서 View의 생명 주기와 Controller의 분리가 사실상 어렵다
- 이렇게 View를 가지고 있고, 그 생명주기도 관리하기 때문에 Controller자체가 거대해진다
좋은 아키텍쳐 특징에서 바라보기
좋은 아키텍처의 특징, 요소 측면에서 이 패턴을 파악해보자!
- 책임 분리
- View와 Controller의 관계가 매우 밀접하여 , 책임분리가 안된다
- 테스트
- View와 Controller의 밀접한 관계로 인해 사실상 Model만 테스트가 가능하다.
- 사용 용이성
- 코드길이는 적고, 진입장벽 자체는 낮다!
정리
- 개발속도가 빠르기에 아키텍처에 투자할 시간이 부족할 때 사용하면 유용하다
- 유지보수 비용이 많이 들어가는 편이다
MVC가 개발속도는 짱이다! 그러나 유지보수 비용은 많이 들어간다!
댓글남기기