|
1. Oxite
該項目中包含了Routing的定義,Model和Services服務層的代碼,還有Oxite運行時的后臺服務類,配置類,同時,在該項目中也定義了數(shù)據(jù)訪問層的接口,但并沒有實現(xiàn)。
- BackgroundServices 定義了插件的服務類,
- Extensions 則是各種常用方法的擴展,如IP地址,字符串,以及反射。
- Handlers 對HttpHandler進行重載的類。用于對用戶請求進行操作。
- Infrastructure 本目錄中有大量的類,定義了公用方法,
- Model 這個對OO來說最容易理解,就是對象的定義,在MVC中的M。
- Repositoris Oxite的數(shù)據(jù)訪問層接口,使用了Repository模式,和Linq2SQL配合。
- Routing 對Routing規(guī)則的定義和擴展。,同時也有相應的約束。
- Services Oxite的服務層,也就是傳統(tǒng)三層架構(gòu)中的中間服務層。內(nèi)有服務的接口和具體實現(xiàn)。
- 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.
該項目包據(jù)了數(shù)據(jù)訪問層的實現(xiàn),并用LinqToSql 進行數(shù)據(jù)庫的操作。
這個Project中用到了LinqToSql,在項目架構(gòu)中充當?shù)氖菙?shù)據(jù)訪問層的實現(xiàn)。
3. MVC
本項目中包含控制器和視圖層的所有代碼,用于Controllers到Views的數(shù)據(jù)通信,并包含用WCF所寫的MetaWeblog API用于提供對外服務。
- ActionFilters 定義了各種攔截器
- Controllers 所有的Controllers都在這個目錄下定義。
- Extensions MVC框架中的一些方法擴展 BlogML,DateTime,HtmlHelper,HttpCookie
- Infrastructure 基礎類
- ModelBinders 作用是將客戶端提交的一個數(shù)據(jù)轉(zhuǎn)化成Model,簡單或復雜類型。為Action生成復雜對象參數(shù)
- Results ?
- Services 對外的一些服務接口。
- Skinning 對主題皮膚操作的一些方法
- ViewModels 從Controller中的數(shù)據(jù)綁定到View時所用到。
- ContainerFactory 反射工廠
- OxiteApplication.cs 將Globle中的方法轉(zhuǎn)移到這里,將Site項目只負責項目的顯示。
4.MVC.Test
該項目定義了整個解決方案的測試類,使用Xunit.NET 測試框架。
5.Site
該項目包含視圖,主題和Web.Config文件。并將所有的C#代碼放在了Oxite.Mvc項目中。
- Site項目中是沒有C#代碼的,只負責視圖的顯示。
- Content 一些公用的內(nèi)容,像公用圖片,公用腳本,公用資源
- Skins 皮膚。里面包含了主題所使用的樣式文件和Scripts。 (我個人感覺將一些公用的Scripts放到Content下更合適。)
- Views 視圖Shared 公用的東東。像Error,MasterPage
6. Oxite.Database
數(shù)據(jù)庫項目,方便數(shù)據(jù)庫架構(gòu)、數(shù)據(jù)的對比、更新與部署。
NET技術:Oxite 項目結(jié)構(gòu)分析,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。