ASP.NET2009.03.10 09:44

MS에서 종종 좋은기술이 발표된다. WPF, WCF, Silverlight, LINQ 등...

ASP.NET MVC 패턴은 말그대로 프로그래밍 패턴이다.

Model, View, Controller 이렇게 세가지 단위모듈로 로직을 명확하게 나누기 위해서 이다.

나누면 얻게 되는 이득은, 우선 복잡한 로직을 세가지로 나누면서, 유지보수가 용이해 진다.
MVC 패턴이 나온이유도 이와 같은 이치에 의해서 이다.

그렇다면 패턴이라는건 무었일까?

"코어 J2EE패턴" 이라는 책에서는 다음과 같이 정의 한다.
패턴이란, 무엇이 문제이며 그에 대한 해법은 무엇인지 다른 사람들과 서로 의견을 나누는 방법.
또한 패턴은 삼요소 규칙이 존재한다.
1. 정황(context)
2. 문제(problem)
3. 해법(solution)

소프트웨어 엔지니어링 이라는 책에서 프로그래밍이란 문제(problem)를 해결(solving)하는 일련의 행위 라고 말하는데
결국 개발자는 어떠한 문제(problem)나 요구(needs)을 해결(solve)해 주는 역할을 하는 사람이다.

이러한 과정을 거친 결과물이 인도될때 거기서 끝나는것이 아니라 유지보수라는 엄청난 job이 생겨난다.

복잡한 비즈니스로직을 명확하게 MVC로 나누게 되면 유지보수성도 뛰어날 뿐더러 반복되는 실수가 줄어들게된다.
이게 바로 MVC 패턴을 사용하는 가장 중요한 요수이다. 간단히 말해 유지보수가 편해지는 프로그래밍 기법!!

하지만 세상 만사가 그렇듯이 항상 장과 단이 있다.

무조건 좋을수만은 없는게 사실이다.
예를들면 간단한 게시판 리스트를 가져오는 프로그램을 짠다고 했을때 ASP.NET WebForm 에서는 page_load 부분이나
grid, repeater 에 databinding만 하면 됬다.

하지만, MVC 패턴으로 가면 우선 페이지 로딩이 될때 사용자가 어떤 요청을 했는지 Coltroller가 해석을 하고, Model에서 데이터를 가져와서 View에게 화면을 넘겨준다. 일반적인 MVC 패턴에서는 각각의 M,V,C가 하나의 클래스로 구성되어 있다.
물론 비슷한 비즈니스 로직상에는 하나의 클래스 안에 여러가지의 분기문, 메서드가 존재하게 되는것이다.

간단한 사이트를 만들기 위해 무리한 프레임웍을 올리는것보다. 상황에 맞게 잘 선택해야 할 것이다. ^^;



저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바