MVC Pattern이란??

Minwoo Kang
Berkbach
3 min readMay 9, 2018

--

Photo by Lorenzo Cafaro from Pexels

저번 시간에 웹 페이지에서 ‘Hello World!’를 찍는 것을 해봤습니다.

원래 이번 시간에 Flask에서 제공해주는 모듈들을 예제를 통해 알아보려고 했지만 개발 공식과 비슷한 MVC 패턴이라는 것을 알아두면 독자들에게 도움이 될 것 같아서 이 글을 먼저 써보려고 합니다.

MVC 패턴이란?

애플리케이션을 Model, View, Controller 3가지로 분류해서 각자 수행할 것을 명확하게 나누어 구성하는 것을 말합니다.

Model, View, Controller 각각의 역할을 말하자면,

  • Model은 비지니스 로직을 담당하고
  • View는 사용자 인터페이스
  • ControllerModelView를 제어하며 둘을 상호작용 시켜주는 역할을
    합니다.

비지니스 로직이란 데이터를 생성, 표시, 저장, 변경하는 부분을 일컫습니다.

https://www.lesstif.com/download/attachments/24445825/image2015-5-28%2021%3A1%3A48.png?version=1&modificationDate=1432813736000&api=v2

위의 그림은 MVC 패턴을 이용했을 때 어떤 순서로 처리가 되는지 설명하는 그림입니다. 이해가 안되신 분들은 위의 순서를 참고하여 이해하시면 될 것 같습니다.

전체적으로 Controller를 중심으로 처리가 진행이 되고 데이터는 Model에서 받아오고 마지막 사용자에게 가는 작업을 View가 해주는 것을 알 수 있습니다.

저는 Flask을 처음했을 때 app.py 파일 안에서 모든 기능을 구현했었습니다. 그 때 당시에는 그 방법이 편했기 때문이죠.

하지만 친구들과 함께 프로젝트를 작업하면서 서로 작업할 부분을 파일로 나누어주지 않으면 매우 불편하다는 것을 느끼게 되었고, MVC 패턴을 사용하는게 합리적이라고 생각이 되었습니다.

Flask에서 MVC 패턴을 쓰기 위해 파일을 하나하나 만들어줘야되는 작업이 필요해서 개인적으로 매우 귀찮아서 그냥 app.py 한 파일에서 처리할 때도 있지만 언젠가는 MVC 패턴을 무조건 쓰게 되기 때문에 개념이라도 익혀갈 수 있으면 좋겠습니다.

이번 포스팅은 이것으로 마치겠습니다.

--

--