: 응용 프로그램의 객체에 Model, View, Controller 세 가지의 역할들 중 하나를 할당한다. 이 패턴은 객체가 앱에서 수행하는 역할을 정의할 뿐만 아니라 서로 통신하는 방식을 정의한다.
Model (data 관리)
: 특정한 데이터 캡슐화하고, 해당 데이터를 조작하고 처리하는 방법을 정의한다.
communication
→ model이 변경되면 controller에 알리고, 적절한 view를 업데이트한다.
View (보이는 화면)
: 사용자가 볼 수 있는 객체로 model로부터 받아온 데이터를 표시하고, 그 데이터를 수정하는 것이 주요 목적이다.
communication
→ controller를 통해 model 데이터의 변경 사항에 대해 업데이트하고, model에 사용자의 변경 사항(예: 텍스트 필드에 입력된 텍스트)을 전달한다.
Controller (view의 반응처리)
: 하나 이상 어플의 view와 하나 이상 mode 사이에서 중개자의 역할을 한다. 응용 프로그램에 대한 설정 및 조정 작업을 수행하고, 다른 객체의 life cycle도 관리할 수 있다.
communication
→ view에서 수행된 사용자 작업을 해석하고, 새 데이터나 변경된 데이터를 model에 전달한다. model이 변경되면 controller는 해당 새 model 데이터를 view에 전달하여 표시할 수 있게 한다.
→ MVVM 패턴 나중에 공부하기로 하자.