본문 바로가기

iOS

[iOS] MVC모델의 효과적인 사용

MVC 모델이란, Model, View, Controller의 세 가지 부분으로 나누어서 효과적으로 관리하는 것을 말한다.

간단히 아래와 같은 그림으로 표현할 수 있다.

출처 위키백과

한마디로 사용자가 View를 통해서 화면을 보고 Controller를 사용하면 그것이 Model에 명령을 보내고 그 명령은 View를 업데이트 하는 방식이다.

실제로 현업에선 MVC 모델보다는 MVVM 모델을 더 많이 사용하는 것 같았다. MVC모델로 작성하게 되면 Controller 부분에 너무 많은 양이 몰리게 되기 때문에 그닥 효과적이지 않기 때문인 것 같았다.

그래도 나는 MVC모델을 알고 MVVM모델로 넘어가야한다는 생각과 아직은 어떤 방식으로 짜야 이것이 MVC모델이다!라고 하기 애매한 느낌이 들어 공부하게 되었다.

 

효과적으로 MVC모델로 작성하기 위한 방법에는 어떤 것이 있을까?

 

 

1. extension을 잘 활용하자!

보통의 MVC 모델은 Controller파트에 엄청난 양의 코드가 몰리는 경우가 다반수이다. 이것을 그나마 가독성 있게 배치하려면, extension을 많이 써서 여러 파트로 나누어 놓는 것이 좋다. 

-  메인 파트에는 IBOutlet이나 프로퍼티 같은 커다란 파트들을 담고있는 것이 좋고, deinit까지 담고 있는 것이 좋다.

- ViewCycle에 대한 extension

- 프로토콜 채택하는 부분

 

2. viewDidLoad()를 최소화 하자!

viewDidLoad에 많은 양을 때려넣는 사람들이 많은데, 그렇게 짜기 보다는 func을 따로 만들어서 처리를 해주는 것이 훨씬 더 가독성이 좋고 깔끔하다.

ex) func setup()으로 함수를 만들어준 후 setupButtons, setupVCs등의 함수로 또 한번 분리해서 넣어주면 훨씬 더 가독성있어진다.

 

3. 캡슐화!

내부에서만 사용하는 함수들이나 extension들에 private을 사용하여 캡슐화를 해주어 외부와의 통신을 최소화 시켜준다.

'iOS' 카테고리의 다른 글

[iOS] 코드로 UINavigationController 사용하기  (0) 2023.09.14
[iOS] SnapKit 사용하기  (0) 2023.09.12