zoukankan      html  css  js  c++  java
  • 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>      

  • 相关阅读:
    分布式系统中的Session问题
    HotSpot VM运行时---命令行选项解析
    K大数查询
    [DarkBZOJ3636] 教义问答手册
    小朋友和二叉树
    [COCI2018-2019#2] Sunčanje
    小SY的梦
    [HDU6722 & 2019百度之星初赛四 T4] 唯一指定树
    [HDU6800] Play osu! on Your Tablet
    [NOI2007] 货币兑换
  • 原文地址:https://www.cnblogs.com/zhangyuhang3/p/6906078.html
Copyright © 2011-2022 走看看