Mono Rail (소프트웨어)

MonoRail (software)
캐슬 프로젝트:
개발자캐슬 프로젝트
안정된 릴리스
2.1 RC[1] / 2011년 3월 17일 (2011-03-17)
운영 체제크로스 플랫폼
유형응용 프로그램 프레임워크
면허증.아파치 2.0
웹 사이트www.castleproject.org/projects/monorail

Castle Project의 컴포넌트인 Mono Rail(이전의 Castle on Rails)은 ASP를 기반으로 구축된 오픈 소스애플리케이션 프레임워크입니다.NET 플랫폼Ruby on Rails Action [2]Pack에서 영감을 얻은 Mono Rail은 표준 ASP와 다릅니다.모델 뷰 컨트롤러([3]MVC) 아키텍처를 사용하여 문제를 분리함으로써 NET Web Forms 개발이 프레임워크는 일반적으로 NHibernate에 구축된 ORM 레이어인 Castle ActiveRecord와 함께 사용됩니다.2010년 1월에 MonoRail 버전 2.0이 출시되었지만 많은 프로젝트에서는 정식 릴리스를 기다리지 않고 소스 트렁크 버전을 사용하여 새로운 기능을 활용하고 있습니다.

프로젝트 이름은 MonoRail이지만 Mono 프로젝트와 관련이 없습니다.

구조

프레임워크는 웹 요청을 일반 작업인 "액션"에 매핑합니다.컨트롤러의 NET 방식컨트롤러는 비즈니스 서비스를 호출하고 애플리케이션의 흐름을 제어합니다.웹 응답을 클라이언트에 보낼 시간이 되면 컨트롤러는 렌더링할 뷰 템플릿을 설정하고 데이터를 "Property Bag"로 알려진 특별한 사전 개체에 넣고 템플릿 렌더링을 뷰 엔진에 위임합니다.

뷰 엔진은 컨트롤러가 제공하는 속성 백 내의 데이터를 사용하여 템플릿을 응답 스트림으로 렌더링합니다.이 단계에서는 뷰가 애플리케이션의 다른 레이어에 액세스 할 수 없기 때문에 뷰가 애플리케이션 로직에서 분리됩니다.

보기 엔진

MonoRail에서 사용되는 메인스트림 뷰 엔진은 Apache Velocity 라이브러리를 기반으로 하는 NVelocity입니다.NVelocity에는 if 문이나 포어치 루프와 같은 단순한 제어 블록이 제공됩니다.NVelocity 뷰 템플릿은 확장자가 '.vm'인 텍스트 파일입니다.

사용 중인 기타 뷰 엔진:

  • Brail, Boo 언어를 기반으로 합니다.가 되는 것.뷰 프로그래머가 Base Class Library 메서드를 사용할 수 있기 때문에 NET 언어인 Brail 뷰 엔진은 더 강력한 기능을 가지고 있습니다.그러나 파워에는 가격이 수반됩니다.그것은 너무 많은 것을 할 수 있는 가능성을 열어놓기 때문에, 우려의 분리에 대한 책임을 프로그래머의 손에 맡깁니다.뷰 템플릿은 확장자가 '.brail'인 텍스트 파일입니다.
  • AspView는 스크립트 언어로서 C#사용하는 뷰 엔진으로, 모든 뷰가 에 미리 컴파일 되는 사전 컴파일된 접근 방식을 사용합니다.도입 전 NET 어셈블리뷰 템플릿은 확장자가 '.aspx'인 텍스트 파일입니다.
  • WebForms ViewEngine을 사용하면 MonoRail 응용 프로그램에서 웹 양식의 기능을 사용할 수 있습니다.WebForms 뷰 엔진을 사용하는 경우는 매우 드물기 때문에, 기존의 Web Forms 애플리케이션에서 MonoRail 애플리케이션으로의 이행 단계에만 사용하는 것을 추천합니다.뷰 템플릿은 확장자가 '.aspx'인 텍스트 파일입니다.
  • String Template는 MVC에서 [4]가장 엄격한 뷰 엔진입니다.
  • 스파크 뷰 엔진은 ASP에서 인기 있는 새로운 뷰 엔진입니다.NET MVC 개발자는 Mono Rail도 지원합니다.

기타 뷰 엔진

다른 뷰 엔진을 구축하는 것은 매우 간단하고 간단합니다.Brail, StringTemplate AspView는 모두 독립 개발자에 의해 각자의 요구에 맞게 작성되었습니다.

기타 뷰 엔진은 다음과 같습니다.

  1. ASPX
  2. 스파크
  3. NHaml
  4. ND장고
  5. 하식
  6. 브레이일
  7. 벨뷰
  8. 샤프틸레스
  9. 문자열 템플릿
  10. 윙 비트
  11. 샤프돔
  12. 면도기
  13. 아즈레

레퍼런스

  1. ^ "Download Castle Project".
  2. ^ Ruby on Rails 액션 팩
  3. ^ "InfoQ: Catching up with the Castle Project". Retrieved 13 September 2007.
  4. ^ 파, 테렌스템플릿 엔진에서의 모델과 뷰의 엄밀한 분리 적용

추가 정보

  • James Avery, Jim Holmes, Windows 개발자 전동 공구, O'Reilly Media, 2006, ISBN 0-596-52754-3, 963–972 페이지 (18.6 Castle Mono Rail을 통한 웹 개발 단순화)
  • 스티븐 샌더슨, 프로 ASP입니다NET MVC Framework, Apress, 2009, ISBN 1-4302-1007-9, 페이지 12 (Mono Rail과의 비교)

외부 링크

자원.

Mono Rail 블로그