본문 바로가기

.NET(C#,ASP)

ASP.NET MVC 2 Basics - MVC란?


갑자기, 괜히, 웬지, 뜬금없이, 아무이유없이, ASP.NET MVC가 궁금해졌다. 그리고 하고 싶어졌다.
회사에서는 웹로직을 공부하라 하는데 그리고 해야 하는데 이 청개구리 같은 행동은 뭐란 말이냐..

아무튼 그래도 틈날때마다 공부하기로 결심하고 자료를 찾아보니..
http://asp.net/mvc 사이트에서 동영상 강좌가 있다.
그 강좌를 클릭했더니 아래 링크로 연결되었다.
http://channel9.msdn.com/blogs/matthijs/aspnet-mvc-2-basics-introduction-by-scott-hanselman

1시간 10여분 정도 되는 그 강좌를 보면서 배운 점을 하나씩 써 보련다.

물론 영어 강좌라서 거의 못 알아듣는다. ㅋㅋㅋ
그냥 그림 보고 대충 이해하는 척 하는것..

그럼 MVC란 무엇인가?
예전에 JSP 개발할 때 스트러츠 기반으로 개발했었는데,
그 스트러츠가  MVC 개발을 할 수 있도록 해주는 플랫폼이었던 것으로 기억한다.

그러나.. 6년여의 세월이 흐른 지금 MVC가 뭔지 까먹었다.

M - Model (강사는 분명 마들 이라고 발음했다 ㅋ)
V - View
C - Controller

이거란다.
왜 MVC인가?
각각의 역할은 무엇인가?
강사는 와이프의 결혼반지로 설명하는 거 같았는데 말이 너무 빨라서 이해 불가 ㅡ,ㅡ;
솔직히 예전에 스트러츠가 이 구조였는지 기억이 잘 안난다.
 
기억으로는
순수 UI담당하는 부분(아마도 View), 로직(논리 코드 등)을 담당하는 부분, 데이터를 담당하는 부분..
이렇게 나누었던거 같은데..

실제로 VS2010에서 프로젝트를 만들면 위의 MVC 폴더들이 만들어지며 기본 파일들이 생성되는 것을 확인 할 수 있다.
 

그럼 일단 MVC가 명목상 뭘 의미하는지 알아보자.

M - Model - 객체나 데이터를 처리하는 부분, 로직이 들어가는 부분인 듯.
V - View - 말그대로 UI를 책임지는 부분
C - Controller - View와 Model 사이에서 객체나 데이터를 전달하는 부분.

헐..

좀 이상하다..
구지 Controller라는 걸 따로 구분해놓아야 할까?
비효율적으로 보인다..

똑똑한 사람들이 만든 것이니 뭔가 이유가 있겠지..
어디 왜 이렇게 나눠놨는지 공부해보자!!!