[IOS 로드맵] MVC

willis18·2021년 9월 27일
0

IOS 로드맵

목록 보기
14/109
post-custom-banner

MVC

MVC는 Model + View + Controller의 앞 글자를 따서 만든 용어입니다.
각 객체가 역할을 수행하면서도 서로 통신하는 방식을 정의합니다
왜 이러한 아키텍처를 쓰며 정리하는 이유가 무엇일까?

  • 유지보수를 수월하게 하기 위함
  • 디버깅을 수월하게 하기 위함
  • 정해진 아키텍처 개념으로 제작해 놓으면 어떤 구조로 되어있는지 미리 감이 잡힌다
  • 단 뭐가 최고의 아키텍처이다 하는건 없습니다 각 상황따라 적절한 설계를 해야하는데 나중에 mvc말고도 다른 개념이 등장 할 예정입니다.

Model

애플리케이션과 관련된 데이터를 캡슐화하고, 해당 데이터를 조작하고 처리하는 로직과 계산을 정의합니다
주로 데이터를 관리하는 역할을 합니다.

View

뷰 객체는 애플리케이션 내에서 사용자가 볼 수 있는 객체를 말합니다
뷰 객체의 주된 목적은 애플리케이션의 모델 객체의 데이터를 보여주고 해당 데이터를 편집할 수 있도록 하는 것입니다
주로 사용자에게 보여주는 UI관련 역할을 합니다.

Controller

model과 view간 중개자 역할을 합니다.
변경 사항이 있다면 그 데이터를 전달하는 역할을 합니다.
주로 model과 view 사이서 데이터를 전달하거나 작업을 처리하거나 이벤트 조작을 하거나 등등을 관리합니다 mvc구조에서는 규모가 커지면 Controller에 많은 양의 코드가 들어가 거대해지는 단점이 있습니다.

전통적 MVC와 Cocoa MVC는 다르다

MVC면 다 같은 MVC아니였어 라고 생각했다
하지만 apple에서 쓴 MVC개념은 기존과는 다른 것이였다.
어떻게 다른건지에 대해서 그림이 있습니다.

아래가 mvp인데 이 개념이 사실 cocoa mvc와 비슷합니다

이와 관련하여 자세한 설명이 되어있는 링크를 첨부하겠습니다.
https://medium.com/@esung/mvc-%EC%A0%95%EB%A7%90%EC%A0%9C%EB%8C%80%EB%A1%9C%EC%95%8C%EA%B3%A0%EA%B3%84%EC%8B%A0%EA%B0%80%EC%9A%94-875f1323f6c0

post-custom-banner

0개의 댓글