Programming

MVC 디자인 패턴

 2016. 7. 11. 00:01
반응형

얼마전 네이버 iOS 개발자 컨퍼런스에서 단위 테스트에 대한 내용을 듣고 적지 않은 충격을 받았다

기능과 UI의 분리만으로도 테스트의 효율이 급상승하고


지금까지 ViewController에 모든 기능, UI, 데이터를 다 넣었던 코드가 부끄러워졌다

물론 테스트에도 많은 시간이 소요되었다

깔끔하지 않은 코드를 바라고 코딩하는 개발자는 없을 것이다
근본적인 원인은 조급함 때문이다
나의 경우 전체 설계를 하지 않고 단위 기능 개발을 우선시 했기 때문에 이러한 결과가 나왔다


iOS 교육 앱을 기획하면서

iOS에 적합하게 MVC패턴을 사용하는 법을 익혀야할 필요를 느꼈다


시간이 좀 지난 강의인것 같지만 기본 개념을 익히기에 부족함이 없어보인다

http://theopenacademy.com/content/lecture-1-mvc-and-introduction-objective-c


먼저

MVC란 무엇인가?

Model - Veiw - Controller의 약자로 UI와 Data와 기능의 분리를 도와준다


Model - Controller - View 로 두고 보는게 이해가 빠를 것 같다


Model : Data가 들어있다


View : UI 부분이고 Controller에 직접 명령을 전달하지 않는다 (하지만 Target을 설정한다)


Controller : Model과 View를 연결시켜준다. 논리적 연산으로 Model의 Data를 변화시키고, 그에 따른 UI변화가 필요한 부분을 View에 전달한다

Delegate가 설정되어 있어 View에서의 신호를 감지한다




반응형