|
1. Oxite
該項目中包含了Routing的定義,Model和Services服務層的代碼,還有Oxite運行時的后臺服務類,配置類,同時,在該項目中也定義了數據訪問層的接口,但并沒有實現。
- BackgroundServices 定義了插件的服務類,
- Extensions 則是各種常用方法的擴展,如IP地址,字符串,以及反射。
- Handlers 對HttpHandler進行重載的類。用于對用戶請求進行操作。
- Infrastructure 本目錄中有大量的類,定義了公用方法,
- Model 這個對OO來說最容易理解,就是對象的定義,在MVC中的M。
- Repositoris Oxite的數據訪問層接口,使用了Repository模式,和Linq2SQL配合。
- Routing 對Routing規則的定義和擴展。,同時也有相應的約束。
- Services Oxite的服務層,也就是傳統三層架構中的中間服務層。內有服務的接口和具體實現。
- Validation 一些常用的驗證方法。
2. LinqToSqlDataProvider
This project contains implementations of all the repositories and uses LinqToSql for data access. Currently it doesn't map the database directly to the entity objects but rather to an intermediate set of objects which are then translated into the standard Oxite entites. This is one of the areas we're looking at changing in a future release.
該項目包據了數據訪問層的實現,并用LinqToSql 進行數據庫的操作。
這個Project中用到了LinqToSql,在項目架構中充當的是數據訪問層的實現。
3. MVC
本項目中包含控制器和視圖層的所有代碼,用于Controllers到Views的數據通信,并包含用WCF所寫的MetaWeblog API用于提供對外服務。
- ActionFilters 定義了各種攔截器
- Controllers 所有的Controllers都在這個目錄下定義。
- Extensions MVC框架中的一些方法擴展 BlogML,DateTime,HtmlHelper,HttpCookie
- Infrastructure 基礎類
- ModelBinders 作用是將客戶端提交的一個數據轉化成Model,簡單或復雜類型。為Action生成復雜對象參數
- Results ?
- Services 對外的一些服務接口。
- Skinning 對主題皮膚操作的一些方法
- ViewModels 從Controller中的數據綁定到View時所用到。
- ContainerFactory 反射工廠
- OxiteApplication.cs 將Globle中的方法轉移到這里,將Site項目只負責項目的顯示。
4.MVC.Test
該項目定義了整個解決方案的測試類,使用Xunit.NET 測試框架。
5.Site
該項目包含視圖,主題和Web.Config文件。并將所有的C#代碼放在了Oxite.Mvc項目中。
- Site項目中是沒有C#代碼的,只負責視圖的顯示。
- Content 一些公用的內容,像公用圖片,公用腳本,公用資源
- Skins 皮膚。里面包含了主題所使用的樣式文件和Scripts。 (我個人感覺將一些公用的Scripts放到Content下更合適。)
- Views 視圖Shared 公用的東東。像Error,MasterPage
6. Oxite.Database
數據庫項目,方便數據庫架構、數據的對比、更新與部署。
NET技術:Oxite 項目結構分析,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。