MVC는 Model + View + Controller의 앞 글자를 따서 만든 용어입니다.
각 객체가 역할을 수행하면서도 서로 통신하는 방식을 정의합니다
왜 이러한 아키텍처를 쓰며 정리하는 이유가 무엇일까?
애플리케이션과 관련된 데이터를 캡슐화하고, 해당 데이터를 조작하고 처리하는 로직과 계산을 정의합니다
주로 데이터를 관리하는 역할을 합니다.
뷰 객체는 애플리케이션 내에서 사용자가 볼 수 있는 객체를 말합니다
뷰 객체의 주된 목적은 애플리케이션의 모델 객체의 데이터를 보여주고 해당 데이터를 편집할 수 있도록 하는 것입니다
주로 사용자에게 보여주는 UI관련 역할을 합니다.
model과 view간 중개자 역할을 합니다.
변경 사항이 있다면 그 데이터를 전달하는 역할을 합니다.
주로 model과 view 사이서 데이터를 전달하거나 작업을 처리하거나 이벤트 조작을 하거나 등등을 관리합니다 mvc구조에서는 규모가 커지면 Controller에 많은 양의 코드가 들어가 거대해지는 단점이 있습니다.
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