MVC(Model - View - Controller)

모델(Model)

애플리케이션의 비지니스 로직(Business Logic), 
즉 객체나 데이터의 가공을 책임지는 컴포넌트들의 집합체이고 

컨트롤(Control)이란 객체 또는 데이터의 흐름을 책임지는 컴포넌트, 

뷰(View)는 객체 또는 데이터의 생성을 책임지는 컴포넌트로, 일반적으로 데이타의 입력 부분과 출력 부분을 담당한다.



뷰의 역할


View

먼저 데이터(객체)의 입력과 출력을 담당하는 는 필요에 따라 모델로 부터 객체의 상태를 요청할 수 있고 응답받은 상태에 따라 다른 출력 형식을 가질 수 있으며 컨트롤러(Controller)에게 전달 시 상태 정보를 같이 보낼 수 있다.
 
 여기서 중요한 것은 모델로부터 응답받은 객체의 상태에 의해 가 직접 제어,
가공하는 일이 없도록 해야 한다.
 
 다시 말하면 는 상태에 따라 출력 형식만 다르게 가야하고 모든 제어나 가공은 컨트롤러에게 위임 하도록 한다.



Controller


객체 또는 데이터의 흐름을 책임지는 컨트롤러는 활성화된 로부터
넘겨받은 메세지(User Action) 또는 객체를 파악하여 해당 객체를
어떤 모델로 전달할 지를 결정하고 필요한 객체를 데이터를 가공할 모델로 전달한다.

기본 MVC 모델에서는 모델에서 컨트롤러 쪽으로 이벤트를 보낼 수 없게 되어있지만,
구현 참조가 아니라 인터페이스 참조일 경우 모델에서 컨트롤러 쪽으로 이벤트를
보내는 것이 오히려 MVC 모델 흐름을 더욱 유연하게 만들기도 한다.

이 컨트롤러에 해당하는 부분의 운영 방식(모델과 뷰의 의존성을 어떻게 제어하느냐)에 따라 Controller/MVC, Presenter/MVC, ViewModel/MVVM 등으로 나뉘게 된다.
상호작용 애플리케이션에 유연한 사람 - 컴퓨터 간 인터페이스를 구축한다.




+ Recent posts