Castle.MVC框架介绍
Castle.MVC目前还在Castle的Sandbox中,只是在源代码管理中有,还没有向外发布版本,这里介绍多时Web的MVC,和Castle的MonoRail相比较,这个MVC可以Asp.Net的事件驱动开发和WebControl所见及所得的开发模式。
对Castle.MVC做一下分解,其构成主要有:
View――这个就不多做解释了,页面的CS类如果要实现其导航功能,就继承此类,Castle.MVC提供了3种View:
WebFormView:继承Page类和IView接口,所有的Web 页面继承这个类。
WebUserControlView:继承UserControl,所有的用户控件继承这个类。
WinFormView:继承Form类和IView接口,目前框架中这部分的代码还没有实现。
Controller――这个应该很好理解,控制View、State和Navigator;定义了接口IController
Navigator――是实际导航器的功能,从Controller得到下个View的名字,据此来导航到哪个View,但是它并没有直接就Redirect到相关的页面上去了,而是由ViewManager来Redirect的;定义了个接口Inavigator
ViewManager――管理View的,主要得到当前View的一些信息,比如State,激活View(即Redirect到页面);
定义了接口IViewManager
Configuration――负责读取配置用;
State――是一个状态,是对当前的任务一个保存状态,Castle.MVC提供了2种状态维护的持久化方法:
MemoryStatePersistence:内存状态维护
SessionStatePersistence:Session保存状态(一般采用这个)
LifestyleManager---负责对象的生命周期管理,适用Castle容器对象生命周期管理功能,目前实现了一个
PerRequestLifestyleManager:为每一个请求创建一个Controller的实例
Resource:访问资源数据,如多语言等
MVCFacility:包装TypedFactory来管理IState工厂,关于TypeFactory的原理和使用方法参看http://wj.cnblogs.com/archive/2005/07/12/191359.htm
现在我们来看一下Castle.MVC.Test.Web这个工程的web.config
?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="mvc" type="Castle.MVC.Configuration.ConfigurationSectionHandler, Castle.MVC"/>
configSections>
Castle.MVC框架介绍的更多相关文章
- MVC框架介绍
第一,建立一个解决方案然后在该解决方案下面新建mvc空项目. 第二,下面先对该项目的一些文件进行介绍: MVC项目文件夹说明: 1.(App_Data):用来保存数据文件,比如XML文件等 2.(Ap ...
- MVC框架介绍分析
相信绝大多数学习过Javaweb的人都知道一个系统的模式--Spring模式,以这么模式中为基础,衍生出各种各样的新的模式,其中最重要的就是Spring下的Spring MVC MVC是Xerox P ...
- 开源:Taurus.MVC 框架
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- 开源:Taurus.MVC 框架 (已支持.NET Core)
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- 02-Django框架介绍
02-Django框架介绍 1.MVC框架介绍 MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式 具有耦合性低.重用性高.生 ...
- 分布式服务框架介绍:最成熟的开源NIO框架Netty
尽管JDK提供了丰富的NIO类库,网上也有很多NIO学习例程,但是直接使用Java NIO类库想要开发出稳定可靠的通信框架却并非易事,原因如下: 1)NIO的类库和API繁杂,使用麻烦,你需要熟练掌握 ...
- MVC框架与三层架构
MVC框架 介绍: MVC全名Model View Controller Model:模型的意思,代表业务模型 View:视图的意思,代表用户界面 Controller:控制器的意思,控制器接受用户的 ...
- Node.js简单介绍并实现一个简单的Web MVC框架
编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...
- Spring官方文档翻译——15.1 介绍Spring Web MVC框架
Part V. The Web 文档的这一部分介绍了Spring框架对展现层的支持(尤其是基于web的展现层) Spring拥有自己的web框架--Spring Web MVC.在前两章中会有介绍. ...
随机推荐
- 检查linux网络的状况
http://hi.baidu.com/dr_wang/blog/item/2952f7458659c306cefca3cc.html
- 关于数组中加入相同的view的试验
随便新建一个工程,然后在控制器中粘贴如下代码 - (void)viewDidLoad { [super viewDidLoad]; UIView * view = [[UIView alloc]ini ...
- jms、amqp、mqtt区别与联系
消息传递作为基本通信机制已经在全世界成功运用.无论是人与人.机器与人还是机器与机器之间,消息传递一直都是唯一常用的通信方式.在双方(或更多)之间交换消息有两种基本机制. 同步消息传递 异步消息传递 同 ...
- ajax 上传图片
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- web前端--移动端适配总结
转自:https://segmentfault.com/a/1190000011586301 作者:Devinnn meta标签到底做了什么事情 做过移动端适配的小伙伴一定有遇到过这行代码: < ...
- sql中的SET NOCOUNT ON/OFF
当 SET NOCOUNT 为 ON 时,不返回计数(表示受Transact-SQL 语句影响的行数). 当 SET NOCOUNT 为 OFF 时,返回计数(默认为OFF). 即使当 SET NOC ...
- Tokyo Tyrant(TTServer)系列(六)-数据丢失谁的错
,false,1,100);$mem->addServer ("127.9.9.1",1978,false,1,100);$start=microtime(true);for ...
- Eclipse Jetty Integration
http://eclipse-jetty.sourceforge.net/ Introduction Eclipse Jetty Integration provides a launch confi ...
- HDU 1867 A + B for you again(KMP算法的应用)
A + B for you again Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 初识md5碰撞与crc32碰撞
现在是晚上23:29.写这篇文章呢,是因为早些时候我胃疼,是因为凉导致的胃疼.凉呢喝了一些热水,喝完热水胃倒是不疼了,但是由于我喝的是茶叶开水,于是就导致失眠了.想来想去这漫漫长夜也没意思,于是就决定 ...