20.6 | ASP.NET MVC 설계 목적
MVC의 목적은 웹 폼을 대체하는 것이 아니라 웹 폼과 공존하는 것이다. 기존 ASP.NET 기술인 레이아웃(마스터 페이지), 캐싱, 세션, ADO.NET 등을 그대로 응용한다.
또한, MVC는 클린 URL과 클린 HTML을 목적으로 한다. 따라서 웹 폼과 다르게 뷰 상태(ViewState) 데이터를 사용하지 않고 페이지 라이프 사이클 기능이 없다. URL 라우팅을 통한 검색 엔진에 최적화된 URL을 제공하고 테스트(TDD, Test Driven Development) 기반 개발이 용이해 유지보수가 쉬운 장점을 지닌다.
기존 ASP.NET 웹 폼은 .aspx 확장자를 사용하는 반면에 ASP.NET MVC는 .cshtml 확장자를 사용한다. CSHTML 확장자는 일반적인 HTML 구문과 ASP.NET MVC의 뷰 엔진인 Razor 구문을 사용해서 프로그래밍을 진행한다. <% %>를 사용하는 대신에 @ 기호를 통해서 HTML에 서버 측 출력을 포함하는 방식이 바로 Razor 구문이다.