日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Castle.MVC框架介绍

發布時間:2025/5/22 c/c++ 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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>?????


??? <mvc>
???????? //下面定義view

????????? <webViews>

????????????? <view id="page2" path="/Castle.MVC.Test.Web/views/page2.aspx" />

????????????? <view id="index" path="/Castle.MVC.Test.Web/views/index.aspx"? />

????????? webViews>

???????? //Command――就是一次調用頁面的操作指令,當前View的情況下,如果返回不同下個View就會被Controller調用到下一個頁面。

????????? <command-mappings>

????????????? <commands view="index">

?????????????????? <command id="GoToPage2" view="index" />

????????????? commands>

????????????? <commands view="page2">

?????????????????? <command id="GoToIndex" view="page2" />

????????????? commands>

????????? command-mappings>

???? mvc>??

? <system.web>

system.web>

configuration>

最新的IbatisNet的Npetshop2使用就是Castle.MVC框架,需要的同學可以這里下載NPetshop2。

最新的IBatisNet的Petshop采用了大量的Castle東西,對于學習Castle是一個非常不錯的例子。特點如下:
Full MVC with Castle.MVC (see web.config to see web flow)
- IOC integration with Castle.Winstor (inject service, controller, ...) but Dao is always by iBATIS
( an next version will also inject the Dao in Service)
- Addes unit test for Dao, Presentation, Web (vias NunitAsp), Service layers

轉載于:https://www.cnblogs.com/shanyou/archive/2005/10/29/264294.html

總結

以上是生活随笔為你收集整理的Castle.MVC框架介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。