달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2008. 3. 29. 20:31

ASP.NET MVC & Request Flow 좋아하는 것2008. 3. 29. 20:31

MVC(Model-View-Controller) 패턴은 일반적으로 UI가 있는 Application에서 사용되는 패턴이다. Data와 UI를 분리하기 위한 노력들은 코드의 재 사용성을 높이고, 시스템 변경시 유연하게 수정이 가능하게 해 주므로 다양한 방법으로 Application에 적용되어 왔다.

ASP.NET MVC

     - Model
      : 일반적으로 Application의 주 로직을 담당하고나, DB를 이용하여, Application의
        데이타를 관리하거나, Business 로직을 포함하고 있다.  
    - View
    
: 사용자의 Interface와 연관된 부분으로, Model 데이터를 보여주거나 User의
         입력 Data를 가졍온다.
    - Controller
    
: User와 Interaction하고 Model과 View를 통해 원하는 결과를 얻을 수 있도록
       동작을 결정한다. 결과적으로 View를 통해 Model의 내용을 볼수 있도록 도와준다.


ASP.NET의 MVC Framework도 여타의 다른 MVC프레임워크와 대동 소이하다. 단지 Microsoft에서 공식적으로 지원한다는 것이 다를 뿐이다. 이는 분명 실행 코드와 HTML을 분리해 줘서, 코드의 가독성을 높이고, 개발 속도를 올리는데 크게 기여할 것이다.



images/mvc.jpg
- ASP.NET MVC Framework는 TDD를 가능하게 도와 준다. 그리고 MOC 테스트를 위한 클래스와 모듈을 Framework에 기본 탑재함으로써, 좀더 유연하게 개발을 할 수 있도록 도와 준다. 보통 테스트를 위해 새로 만들 모듀을 Http Server에 올리고 내리는 작업은 시간을 죽이는 작업들이다. 이는 Framework이 컴포넌트들 대부분이 Interface기반으로 되어 있어서 가능한 점이다.
- 또한, ASP.NET MVC Framework는 확장 가능하고, Pluggable 하다. 이는 각 모듈들이 다른 부분에 영향없이 상용 모듈을 사용할 수 있도록 도와준다.
- SEO(Searc Engin Optimization)와 REST를 지원한다.
- ViewStat와 Postback를 더 이상 사용할 필요가 없다.

Request Flow
일반적으로 ASP.NET의 wep form Applicaton들은 URLs과 Logical Disk 상의 파일들가 Mapping해서 사용하도록 한다. 그러나 ASP.NET MVC Framwork는 URLs와 Controller를 연계하여 사용한다. 그래서 Application이 시작할 때, Url Route Rule을 등록하고, 이 Routiog Handler는 Controller에 연계되어 요청이 있을시 사용된다.

images/request.jpg




참조 링크: ASP.NET MVC Framework Part 1

:
Posted by 행복상자