잠깐 ASP.NET MVC에 대해 정리를 하고 넘어가볼께요.

ASP.NET MVC는 많은사람들이 알고 있는 MVC패턴을 논리적/ 물리적으로 확정적으로 적용한 모델! 이라고 합니다.

또한 MVC가 (저도 그랬지만) ASP.NET의 발전된 모습이 아니라 다른 형태의 ASP.NET일 뿐입니다.

MVC와 구별되게. ASP.NET은 Classic ASP.NET이라고 하더라구요.

MVC는 웹 응용프로그램을 3개의 컴포넌트 역할로 구분합니다.

Model - 비지니스 로직수행, 데이터/ 정보 그 자체를 의미  (ASP.NET에서의 DataSet같은 녀석)

 

View - 모델의 로직이 수행된 결과를 노출, 화면에 출력하는 역할을 담당(.aspx나 .ascx페이지)

 

Controller - 모델과 뷰 사이의 중재자, 사용자로부터 입력/ 조작등에 대한 처리를 담당(.aspx.cs)




ASP.NET Classic과 ASP.NET MVC의 차이를 봐볼께요. 

   Classic ASP.NET ASP.NET MVC 
 Request Model PostBack   REST
 Data Model  Code-Behind  MVC
 MVC Model  MVC 1  MVC 2
 View -> Controller  Yes  No

여기서 View -> Controller는 View에서 COntroller로으 접근가능성에 대한 이야기 입니다. 
MVC는 기본적으로 View에서 Controller로의 접근이 안됩니다.
(물론 가능은 한데. 그렇게 하면 굳이 MVC를 쓰는 이유가 없다고 하더라구요)
 
 Classic ASP.NET   ASP.NET MVC 
 Page Controller  컨트롤러  Front Controller
 각각의 페이지를 처리하는
 개별 컨트롤러
   모든 HTTP 요청을 저리하는
 하나의 컨트롤러
 높음  기반프레임워크 의존도  낮음
 높음  모듈간 결합도  낮음
 낮음  컨트롤러 복잡도  높음
 분산  비지니스 로직  통합
 빠르고 간편한 개발(상대적으로)  개발 타입  구조적이고 체계적인 개발
 리소스 요청  URL 요청의 의미  컨트롤러 선택

이것만 봐도. MVC가 Classic ASP.NET보다 무조건 좋지는 않다는걸 알수 있어요.
어떤것이든 그렇겠지만.

상황에 따라 맞는걸 쓰는게 제일 좋죠~

출처 : 서동진님의 ASP.NET MVC 강의(링크는 동진님 블로그로ㅋ)
by 피요히코~ 2009. 4. 5. 23:18