MonoRail 视频学习00(简单了解什么是MonoRail)
第一次做这样的视频,希望大家多多支持,如果有条件我会一直做下去!
内容大部分摘自cnblogs.Com 这边概述摘自于YOK这个作者。
起源
MonoRail是一个.NET的MVC web开发框架, 原名Castle On Rails, 是CastleProject的一个子项目. hammett在使用过Ruby On Rails后, 觉得非常棒, 他希望在享受ror的开发模式的同时能使用大量现有的资源, 于是就用.NET写出了一个Castle On Rails.后来ror那边有人抗议说, 把项目名字叫做xxx On Rails是侵权, On Rails不只是它字面上"快捷"的意思, 而是代表了他们的软件开发哲学,于是hammett把项目改名成MonoRail了.
大家可以到www.castleproject.org 下载最新的MonoRail项目。
简介
MonoRail的核心是Action Pack在.NET上的实现. 这种方式高效, 直观而且易于测试.
MonoRail的开发模式和传统的webform有很大区别,
webform属于PageController模式, 每一个页面对应一个Controller, 通常情况下, 这个Controller就是根据url相对应的.aspx文件分析出来产生的类. System.WebUI.Page实现了IHttpHandler, 每个aspx相关的类各自处理自己的http请求, 经一些逻辑处理后(通常代码在aspx的Codebind类, 也就是aspx的父类), 输出自己的视图.
而MonoRail是FrontController模式, 由Castle.MonoRail.Framework.MonoRailHttpHandler接管所有请求, 然后根据请求的url创建相应的controller, controller再调用相应的action, 最后调用模板引擎输出内link容. link容. 默认情况下, 一个url的结构是Controller/action.
例如, http://localhost/monorailSample/Home/index.rails
对应类HomeController的Index()方法.
模板
那么使用MVC开发框架就要有,实体对象Model,控制器Controller,视图View,
实体对象Model,就不用多说了
控制器Controller,上面也简单的介绍了。
那么视图有哪几种方式呢?
AspNetViewEngine
用传统的.aspx文件做模板, 可以照常使用aspx语法和服务器控件, 但是由于Webform的生命周期和MonoRail完全不同, 有时候会让人觉得别扭, 有部分特性也受到了限制.
NVelocityViewEngine
用NVelocity做模板引擎, 需要学习VTL语法, 但是使用很简单, 特别是很多java程序员已经熟悉velocity. 简单的语法也强迫程序员把逻辑和界面很好的分离开来, 方便跟美工配合.
BrailViewEngine
基于Boo的模板引擎, Boo是一种语法类似python的.NET语言, 据MonoRail的参考说, Brail引擎是功能最强, 性能最好的选择, 但Boo是一种陌生的语言, 这成了Brail引擎应用的最大障碍.
于ASP.NET的服务器控件(Server Control)
在使用了MVC的,monorail就不能再使用服务器控件了(Server Control)了。我们知道ASP.NET的服务器控件是ASP.NET的最大的特点,各种各样纷杂的服务器控件,搞得我们是眼花缭乱啊,不能不承认的确很方便。那么MCV开发模式有好在哪里呢?
1、 使用视图View方式,完全分离美工和程序员的工作,也就是界面和代码的分离。合理划分成次结构有利,ASP.NET则是藕断丝连。
2、 ASP.NET控件追根溯源也是HTML和JS的封装,在快速开发的时候,我们不能完全了解他机制,那么不利于深入的研究。如生命周期复杂,你可能学了几年的ASP.NET甚至不能了解他的生命周期。
利用MonoRail实现Server Control的功能呢,方便吗?
1、 ASP.NET服务器控件就是有HTML和JS的封装,利用JS来实现,对吧?FCKEditor,
2、 自动映射,有点向javabean。
3、 模板可以嵌套,MasterPage
4、 ……
5、 Ajax
6、
7、 我们将一一实现这样的方法。。。。
英文好的朋友,可以去www.castleproject.org 查看更多的信息。
/Files/zq535228/MonoRail_00.part3.rar
/Files/zq535228/MonoRail_00.part2.rar
/Files/zq535228/MonoRail_00.part1.rar
浙公网安备 33010602011771号