一、項(xiàng)目基礎(chǔ)架構(gòu)——以ABP為基礎(chǔ)架構(gòu)的一個(gè)中等規(guī)模的OA開發(fā)日志

前言:

最近園子里ABP炒的火熱??戳藥灼獙?duì)于ABP的介紹后,深感其設(shè)計(jì)精巧,實(shí)現(xiàn)優(yōu)雅。個(gè)人感覺(jué),ABP或ABP衍生品的架構(gòu)設(shè)計(jì),未來(lái)會(huì)成為中型Net項(xiàng)目的首選架構(gòu)模式。如果您還不了解ABP是什么,有什么特色,請(qǐng)移步:《ABP集合帖》——http://www.cnblogs.com/kebinet/p/5341663.html


 

項(xiàng)目背景介紹:

作者自參加工作以來(lái),一直在法律圈打轉(zhuǎn)。09-12年間,作者曾帶團(tuán)隊(duì)用WebForm+N層架構(gòu)實(shí)現(xiàn)了一個(gè)律師事務(wù)所的OA系統(tǒng)。時(shí)過(guò)境遷,現(xiàn)在在維護(hù)此系統(tǒng)時(shí),發(fā)現(xiàn)了當(dāng)初很多設(shè)計(jì)不合理的地方。所以本項(xiàng)目延續(xù)原OA系統(tǒng)的設(shè)計(jì)思路,以ABP為基礎(chǔ)架構(gòu),進(jìn)行徹底重構(gòu)。

注意:本系列文章定位為開發(fā)筆記,不代表ABP的最佳實(shí)踐。


 

一、ABP是什么,ABP.Zero又是什么?從哪里下載ABP項(xiàng)目模板?

ABP全稱為:“ASP.NET Boilerplate Project (ASP.NET樣板項(xiàng)目)”。顧名思義,ABP實(shí)質(zhì)上是一個(gè).Net開發(fā)的分層示例+各種開發(fā)輔助類庫(kù)。ABP是一個(gè)以DDD設(shè)計(jì)模式為原則的Net項(xiàng)目分層示例+一大堆作者寫的輔助類庫(kù)。

ABP.Zero則是ABP的作者配合ABP框架寫的一套用戶模塊。其本質(zhì)是對(duì)ASP.NET Identity的二次封裝。

ABP.Zero是一個(gè)獨(dú)立模塊??捎每刹挥?。如果您的程序中,用戶模塊非常獨(dú)特,建議您不要使用ABP.Zero模塊,而是獨(dú)立實(shí)現(xiàn)一套用戶系統(tǒng)。在我們的示例項(xiàng)目中,用戶模塊也是非常獨(dú)特的,作者會(huì)盡可能嘗試用ABP.Zero去解決,如果實(shí)在無(wú)法適用,那么我們將做一套獨(dú)立的用戶模塊去替代。

  •  ABP作者官網(wǎng):http://www.aspnetboilerplate.com/
  • GitHub地址:  https://github.com/aspnetboilerplate/

 

(請(qǐng)默默感謝這兩位主要維護(hù)人員。如此優(yōu)秀的開源項(xiàng)目,值得32個(gè)贊)

 

 

 如圖所示,登錄官網(wǎng)首頁(yè)后,即可以下載ABP項(xiàng)目模板。這里,我們選擇了使用.net framework4.5.2+mvc5的多頁(yè)面實(shí)現(xiàn)。ORM我們選擇了EntityFramework,并且選擇使用ABP.Zero模塊。(此處也可不選,日后需要時(shí)再安裝)。注意最底部的【EasyFast】,此處是你的解決方案名稱。下載并解壓后,我們得到了如下文件:

網(wǎng)友評(píng)論