BodeAbp框架基於github開源框架ASP.NET Boilerplate,abp項目地址:https://github.com/aspnetboilerplate/aspnetboilerplate
BodeAbp項目地址:https://github.com/liuxx001/BodeAbp
abp學習文章:
3、陽光銘睿博客:
http://www.cnblogs.com/mienreal/tag/ABP/
4、HK Zhang源碼分析系列:
http://www.cnblogs.com/1zhk/category/798531.html
BodeAbp的改動點:
1、前后端完全分離,舍棄作者提供的angular.js實現的前端,改用react.js
2、將EF的遷移方式改為自動遷移
3、功能模塊化,使用abp提供的動態webapi實現功能模塊的分離
4、去除多租戶,另起一個分支去除多租戶代碼(現在用不到,后續可能會提供多租戶的版本)
5、添加一些工具類
BodeAbp的初衷:
每個做過的項目都是有價值的,不管項目本身是成功還是失敗,每個項目的代碼都是我們的幾個月甚至幾年的心血。任何一個項目能讓我們沉淀下來的東西我認為不僅僅是技術能力,也還有業務模塊。一個新項目不應該是從零開始,而應該是在自身或者公司的技術以及業務積累之上開始。
好吧,接地氣的說法就是我希望幾年以后做項目是在業務模塊庫中拼拼湊湊,然后做一些細微調整就可以交給客戶了。
BodeAbp的一些思想:
1、每一個業務模塊應該是足夠獨立的,是能維護自身狀態的。包括模型(數據表)、api、權限、菜單、設置項等。業務模塊之間的依賴應該是盡可能小的。
2、關於EF的自動遷移,有褒有貶,但是為了業務模塊中模型(數據表)的獨立,還是采用了自動遷移,畢竟如果添加一個模塊,都要在模塊之外的DbContext中加許多屬性這個設計就真的太不好了。
3、關於DDD,BodeAbp業務模塊中並沒有完全按照DDD的思想來設計,思想是方便和指導開發的,但總被思想束縛我認為也是不妥的,設計合理即可。當然也可能是我對DDD的理解還不夠深刻。
4、關於多租戶,我另外創建了一個分支刪除了所有關於多租戶的代碼,現在用不到也加大了業務模塊的復雜度,后續時間空余后可能會提供多租戶的版本。
5、關於模塊之間的通信,使用了abp提供的事件機制,模塊間不會相互依賴,只會相互通知。
BodeAbp適用人群:
1、外包公司
2、喜歡接私單的小伙伴
3、abp框架的使用者
BodeAbp的缺點:
1、框架着眼於業務模塊的重用,在意的是業務模塊的通用性,對於專業性特別強的如銀行、醫療、保險系統幫助不是很大
2、在宏願完成之前,框架不能進行分布式部署,不適合互聯網項目
3、對於abp框架的升級以及bug修復的時間會落后於直接使用原abp框架。
4、由於作者很懶,經常很久不更新,所以分享僅供交流,慎用。
BodeAbp的宏願:
讓每個業務模塊都能集群部署。