웹페이지를 만들기 위해서는 아주 다양한 방법들이 있다.
프로그래밍 언어를 무엇을 쓰느냐도 고려해야할 사항이고
프로젝트의 규모가 크다면 개발 방식이나 패턴, 아키텍쳐 들도 충분히 고려해야할 사항이다.
또한 하나의 웹페이지를 작성하기 위해서는 한 페이지에 모든것을 넣어서 구현을 할수도 있지만 이번 포스팅에서는 그와 다른
Model, View, Controller를 구분해서 개발을 하고 이를 앞글자만 따서 MVC 패턴이라고 하는 방법에 대해서 알아보도록 할것이다.
간단한 사이트는 하나의 페이지에서 모든것을 동작 시킬순 있다.
하지만 큰 포털 사이트나 다양한 기능들이 많이 모여있는 그런 웹사이트라면 얘기가 다르다.
요소가 얽히고 거대하고 복잡해지는데 이럴땐 모듈화 하여 업무를 분리해야한다.
어떤 작업이든 업무를 나누고 분업하는 프로세스가 빠르고 정확하다.
프로그래밍 언어도 마찬가지이다.
비슷한 업무를 하는 동작끼리 뭉쳐서 코드를 짜야한다.
이렇게 분업하는 방식 중의 하나가 MVC가 된다.
MVC가 각각 하는일을 좀더 구체적으로 확인해보자.
Model
Model은 하나하나의 객체, 또는 데이터의 상태가 된다.
게시판을 예로 들면 수많은 글들이 데이터베이스에 동일한 형식으로 저장이 되는데 이 동일한 형식으로 넣거나 가져오거나 할때 틀로 사용이 된다.
View
View는 화면에서 보이는 부분이다.
html과 css를 뿐 아니라 자바스크립트도 해당이 될수 있고 요즘엔 잘 사용되지 않지만 jquery부분도 여기에 해당이 될수도 있다.
Controller
Controller는 대부분의 프로그래밍 코드가 작성이 된다.
controller는 좀더 프로그래밍 적으로 설명을 하면 service를 넣든, 상속 클래스를 만들든 너무나도 많은 작업이 들어가지만 그것은 자바프로그래밍에 대한 설명이고, 결국엔 컨트롤러에서는 이런 부분을 담당하는 것이라는것을 알아두면 된다.
결국 짜여진 MVC 패턴의 큰 방식은 다음과 같다.
클라이언트에서 특정 url을 통해서 IP:port/urlString 이라는 request를 보내게 되면 해당 ip의 서버는 해당 포트로의 동작을 확인하고 뒤의 urlString을 받아서 controller에서 해당 url일때의 작동 메서드를 찾는다.
찾은 메서드를 통해서 모델을 통해서 데이터를 가져온 후에 View에서 화면에 response를 해주는 방식이다.
'IT > Knowledge' 카테고리의 다른 글
Internet Explorer 가 사라지고 있는 이유 (51) | 2022.03.21 |
---|---|
Browser란? (50) | 2022.03.20 |
안드로이드 13 티라미수(Tiramisu) (65) | 2022.03.17 |
try - catch - finally 예외처리란? (48) | 2022.03.16 |
가비지 컬렉터란? (58) | 2022.03.15 |
댓글