본문 바로가기
개발Study/web

MVC pattern

by happy90 2020. 9. 20.
SMALL

MVC pattern이란 ?

 

django를 하다가 갑자기 MVC를 알아보는 이유는 MVC pattern이라는 것을 어렴풋이 알고 있었는데,

django project의 디렉토리 구조에 models.py와 views.py가 있는것을 보고 MVC패턴이 사용된다는 것을 알게되었다. 

그래서 MVC 패턴을 짚고 가야할 것 같다.

 

MVC는 Model-View-Controller 의 약자이다.

web에서만 사용하는 것이 아니라 다른 소프트웨어의 개발에서도 사용되는 개발방법론이다.

model, view, controller라는 세가지의 역할군으로 나누어 구현하는 방법이다.

 

MODEL : 무엇을 할지 정의한다. 데이터, 변수 등을 모두 포함한다. 화면에서 어떤 글자를 표시한다면, 글자의 위치, 크기 색상의 정보를 정의하고 있는 것이다. veiw에 이 데이터를 전달할 때에는 controller를 통해 전달하도록 한다.

CONTROLLER : 어떻게 처리할지 정의한다. model과 view사이에서 이들의 역할을 통제한다.
사용자가 view를 통해 데이터를 입력하고 버튼을 눌렀을 때 이 버튼이벤트를 통해 model에 데이터를 전달하는 역할을 한다.

VIEW : 보여주기 역할을 한다. django에서는 view의 역할을 template이 한다고 한다.
사용자가 화면을 통해 어떠한 데이터를 입력할 수 있도록 인터페이스를 제공한다.
사용자가 view를 통해 입력한 데이터는 model에 전달을 한다.
또한 화면에 보여주기 위해 model에서 참조해 온 데이터를 가지고 있지 않고, 화면에 보여준 뒤 삭제한다.

 

이렇게 역할이 나뉘는 것이고, 다음으로 MVC 패턴의 장단점을 알아보고자 한다.

장점 :

 - 역할을 나눔으로써 유지보수에 용이하다.
 - 코드를 깔끔하게 구현할 수 있다.

단점 :

 - 복잡한 대규모 어플리케이션에서는 controller로 역할이 집중되면서 문제가 발생한다.

 

어느정도 이해했으니 다시 django를 공부해야겠다.

 

LIST

'개발Study > web' 카테고리의 다른 글

Python shell in django  (0) 2020.10.18
Django url? view? HTTP?  (0) 2020.10.18
database in django  (0) 2020.09.13
django project  (0) 2020.09.09
django + apache + mysql 을 이용한 web server  (0) 2020.08.23

댓글