2012년 2월 20일 월요일

ASP.NET MVC 가 ASP.NET WebForm 보다 좋은 점

요즘 UI 쪽을 다시 공부하고 있는데, 기존 ASP.NET WinForm 보다 새로운 기능이면서, 빠른 발전을 하고 있는 ASP.NET MVC 3 를 보고 있습니다.  MVC 1, MVC 2 에 비해 MVC 3가 많이 좋아졌고, Razor Template 엔진까지 나왔고… 곧 MVC 4 도 나올 예정이니, 상당히 빠르게 발전하고 있긴 합니다.
사실 전 뭐가 발전하고 있는지, 흐름을 놓친지 하도 오래되어 다시 찬찬히 보고 있는데, 오호라~ 몇 가지 제가 좋아라 하는 기능이 기본적으로 들어 있군요^^
public ActionResult Welcome(string name, int numTimes = 1)
{
    ViewBag.Message = "Hello " + name;
    ViewBag.NumTimes = numTimes;

    return View();
}


Controller 에 다음과 같은 함수를 정의하면,


http://localhost:12095/HelloWorld/Welcome?name=Scott&numTimes=4


과 같이 사용할 수 있군요. 이게 뭐냐구요? 웹 페이지 호출을 함수 호출하듯이 인자가 정의되어 있다는 점 – 즉 Named Parameter 를 사용하여, ASP.NET 의 불명확한 인자에 대한 처리를 명확한 API 형식으로 정의가 가능하다는 점이지요.


또 하나는 ViewBag 이 dynamic 이라 기존 정보 전달에서는 IDictionary<string, object> 가 기본이었는데, 위와 같이 속성처럼 사용이 가능하니, 문자열 타이핑 오류를 상당히 줄일 수 있겠네요^^ 다만, dynamic 속성에 대해서는 refactoring을 지원하지 않는 아쉬움이 있네요.

뭐 저야 화려한 UI를 만드는 역할이 아니라 이런 규격화된 규칙을 정하고, 사용하도록 하는 역할을 수행합니다만. 그 동안 Presentation Layer에 좀 무심했네요.

그리고 얼린 .NET 4 로 올라와야겠군요. 언제까지 .NET 3.5에 머물러 있을 수는 없을 듯 하네요.

아직 MVC 에 많은 것을 공부하지 못했지만, 기존 WebForm 방식보다는 제 맘을 끄는 기능이 많군요. Testing 도 그렇고, MVC 자체 패턴도 그렇고…

댓글 없음: