MVC ( Model-View-Controller)

  • 개발 시 3가지 형태로 역할을 나누어 개발하는 방법론
  • 비즈니스 처리 로직사용자 인터페이스 요소들을 분리시켜 서로 영향없이 개발하기 수월하다는 장점

Model

  • "무엇"을 할 것인지를 정의 내부 비즈니스 로직을 처리하기 위한 역할
    • 처리되는 알고리즘, DB와 상호작용(CRUD Create Read Update Delete)

Controller

  • "어떻게" 처리할 지를 알려주는 역할 , 모바일에서 화면의 로직처리 부분입니다. 화면에서 사용자의 요청을 받아서 처리되는 부분을 구현하게 되며, 요청 내용을 분석해서 Model과 View에 업데이트 요청을 하게 됩니다.
  • 사용자로 부터의 입력을 받고 Model 또는 View중개인 역할

View 

  • 화면에 무엇인가를 보여주기위한 역할, 컨트롤러 하위에 종속되어, 모델이나 컨트롤러가 보여주려고 하는 모든 필요한 것들을 보여줌
  • 최종 사용자에게 무엇을 화면(UI)으로 보여줌

 

MVC의 한계

  • MVC에서 View는 Controller에 연결되어 화면을 구성하는 단위요소이므로 다수의 View들을 가질 수 있다.
  • Model은 Controller를 통해서 View와 연결되어지지만, 어떻게 Controller를 통해서 하나의 View에 연결될 수 있는 Model도 여러개가 될 수 있다.
  • 이러한 문제점을 해결하기 위해서 다양한 패턴을 파생시킴.

 

 

 

+ Recent posts