同步博客園地址:www.cnblogs.com/anyushengcm…
同步簡書地址:www.jianshu.com/p/ebe390e48…html學而時習之,不亦說乎,溫顧溫知新,能夠爲師矣.前端
看懂遠不如動手去作,動手作才能發現不少本身不懂的問題,不斷的反思和總結,「樂於分享是一種境界的突破」。" 分享是頗有意思,也是能夠鍛鍊人的。分享意味着自個人不斷淨化提高,不給本身後退的餘地。爲何這麼說呢?jquery
"ASP.NET Boilerplate是一個用最佳實踐和流行技術開發現代WEB應用程序的新起點,它旨在成爲一個通用的WEB應用程序框架和項目模板。"
"ASP.NET Boilerplate 基於DDD的經典分層架構思想,實現了衆多DDD的概念(但沒有實現全部DDD的概念)。"
ABP在中國火了有一段時間了,我算是添柴加火吧.git
下面是這期文章的目錄:
一、 ABP+AdminLTE+Bootstrap Table權限管理系統第一節--使用ASP.NET Boilerplate模板建立解決方案
二、ABP+AdminLTE+Bootstrap Table權限管理系統第二節--數據庫腳本
三、ABP+AdminLTE+Bootstrap Table權限管理系統第三節--abp分層體系及實體相關
四、ABP+AdminLTE+Bootstrap Table權限管理系統第四節--倉儲,服務,服務接口及依賴注入
五、ABP+AdminLTE+Bootstrap Table權限管理系統第五節--WBEAPI及SwaggerUI
六、ABP+AdminLTE+Bootstrap Table權限管理系統第六節--abp控制器擴展及json封裝
七、ABP+AdminLTE+Bootstrap Table權限管理系統第七節--登陸邏輯及abp封裝的Javascript函數庫
八、ABP+AdminLTE+Bootstrap Table權限管理系統第八節--ABP錯誤機制及AbpSession相關
九、ABP+AdminLTE+Bootstrap Table權限管理系統第九節--AdminLTE模板頁搭建
十、ABP+AdminLTE+Bootstrap Table權限管理系統第十節--AdminLTE模板菜單處理
十一、ABP+AdminLTE+Bootstrap Table權限管理系統第十一節--bootstrap table之用戶管理列表
十二、ABP module-zero +AdminLTE+Bootstrap Table+jQuery權限管理系統第十二節--小結,Bootstrap Table之角色管理
1三、ABP module-zero +AdminLTE+Bootstrap Table+jQuery權限管理系統第十三節--RBAC模式及ABP權限管理(附送福利)
未完待續...
運用到的服務端技術:程序員
客戶端:(前端是用的AdminLTE,Bootstrap table.是開源的,不涉及版權)github
項目GitHub地址:github.com/Jimi-Jiang/…
這也算是學習筆記或者學習總結吧,其實目前1~11節蠻適合公司開發模式的.以前個人公司就用這種模式開發.可能像以前架構師說的,abp並不適合大型企業高併發項目吧,因此才吧abp改爲11節以前的模式,以後的模式就在這上面擴展.
可是最近我在開發的過程當中在想,既然 ABP module-zero已經爲咱們封裝好了 abpsession 封裝好了權限,受權等管理,爲何咱們還要本身去寫呢,直接在原來的基礎上擴展就能夠了嘛.因此在12節及之後的項目中,我會試着去ABP module-zero項目上去擴展延伸.主要參考的資料仍是博客大神的一系列文章"基於DDD的現代ASP.NET開發框架--ABP系列文章總目錄".
爲何使用ABP?
" 咱們近幾年陸續開發了一些Web應用和桌面應用,需求或簡單或複雜,實現或優雅或醜陋。一個基本的事實是:咱們只是積累了一些經驗或提升了對,NET的熟悉程度。 隨着軟件開發經驗的不斷增長,咱們發現其實不少工做都是重複機械的,並且隨着軟件複雜度的不斷提高,以往依靠經驗來完成一些簡單的增刪改查的作法已經行不通了。特別是用戶的要求愈來愈高,但願添加的功能越來多,目前這種開發模式,已經捉襟見肘。我很難想象如何在現有的模式下進行多系統的持續集成並添加一些新的特性。
開發一個系統時,咱們不可避免的會使用各類框架。數據持久層實現、日誌、ASP.NET MVC、IOC以及自動映射等。一個高質量的軟件系統每每還有全局容錯,消息隊列等組件。
把上述這些組件組合到一塊兒的時候,其複雜度會急劇上升。通常我的和小團隊的技術水平,很難設計出一個均衡協調的框架。對於傳統的所謂三層架構,我也是很持懷疑態度的。(月薪15k的程序員搞的三層架構,我也仔細讀過,也是問題多多,並不能解釋爲何要使用三層)。
其實,咱們無非是但願在編程的時候,把大部分的注意力所有集中到業務實現上。不要過多的考慮基礎的軟件結構上的種種問題。應該有一個框框或者一種範式來提供基本的服務,如日誌、容錯和AOP,DI等。稍微正規一點的公司通過多年沉澱都造成了本身的內部軟件框架,他們在開發軟件的時候並非從一片空白開始的。而是從一個很是牢固的基礎平臺上開始構建的。這樣大大提升了開發速度,並且一種架構每每也決定了分工協做的模式。咱們目前之因此沒法分工協做,根本緣由也是缺乏一套成熟穩定的基礎開發架構和工做流程。
目前.NET上有很多開源框架。好比Apworks和ABP。其中Apworks是中國人寫的一套開源框架。它是一個全功能的,不只能夠寫分佈式應用,也能夠寫桌面應用。
ABP的全稱是Asp.net boilerplate project(asp.net樣板工程)。是github上很是活躍的一個開源項目。它並無使用任何新的技術,只是由兩名架構師將asp.net開發中經常使用的一些工具整合到了一塊兒,而且部分實現了DDD的概念。是一個開箱即用的框架,能夠做爲asp.net分佈式應用的一個良好起點。
使用框架固然有代價,你必須受到框架強API的侵入,抑或要使用他的方言。並且這個框架想要吃透,也要付出很大的學習成本。可是好處也是顯而易見的。業界頂尖的架構師已經爲你搭建好了一套基礎架構,很好的迴應了關於一個軟件系統應該如何設計,如何規劃的問題,而且提供了一套最佳實踐和範例。 學習雖然要付出成本,可是通過漫長的跋涉,咱們從一無所知已經站到了工業級開發的門檻上。基於這個框架,咱們能夠很好的來劃分任務,進行單元測試等。大大下降了軟件出現BUG的概率。"
風物長宜放眼量,至此,一方面是改變本身懶惰的習慣,催促本身前行,一方面鞭策本身,不斷學習.
web