ABP+AdminLTE+Bootstrap Table許可權管理系統一期

安與生發表於2017-12-12

同步部落格園地址:www.cnblogs.com/anyushengcm…
同步簡書地址:www.jianshu.com/p/ebe390e48…

學而時習之,不亦說乎,溫顧溫知新,可以為師矣.

        看懂遠不如動手去做,動手做才能發現很多自己不懂的問題,不斷的反思和總結,“樂於分享是一種境界的突破”。" 分享是很有意思,也是可以鍛鍊人的。分享意味著自我的不斷淨化提升,不給自己後退的餘地。為什麼這麼說呢?

  • 一,分享的就是你所知道的,你所知道的是你投資時間和精力學來的,分享意味著你做到無私地把它分享出更高的價值,這是很偉大的。
  • 二,分享意味著你要不斷去追尋新知,這很重要。只有用心生活,用心體會,才能不斷有新的東西分享。這就是善於借用外力來完善自己的表現。。
  • 三,我們在分享的過程中,學會進一步判斷,進一步深入思考,從而進一步提升思緒。這很重要,自己要了解自己,這是一個不斷學習的過程。"
    這也是算是一種學習的方法和態度吧,經常去學習和總結,在部落格園看了很多大神的文章,寫下一點對於ABP(ABP是“ASP.NET Boilerplate Project (ASP.NET樣板專案)”的簡稱)框架的理解和運用.能力有限,第一次寫技術性的部落格寫得不好.算是拋磚引玉,希望有問題的地方給予指出.

    "ASP.NET Boilerplate是一個用最佳實踐和流行技術開發現代WEB應用程式的新起點,它旨在成為一個通用的WEB應用程式框架和專案模板。"
    "ASP.NET Boilerplate 基於DDD的經典分層架構思想,實現了眾多DDD的概念(但沒有實現所有DDD的概念)。"
    ABP在中國火了有一段時間了,我算是添柴加火吧.

下面是這期文章的目錄:
1、 ABP+AdminLTE+Bootstrap Table許可權管理系統第一節--使用ASP.NET Boilerplate模板建立解決方案
2、ABP+AdminLTE+Bootstrap Table許可權管理系統第二節--資料庫指令碼

3、ABP+AdminLTE+Bootstrap Table許可權管理系統第三節--abp分層體系及實體相關
4、ABP+AdminLTE+Bootstrap Table許可權管理系統第四節--倉儲,服務,服務介面及依賴注入
5、ABP+AdminLTE+Bootstrap Table許可權管理系統第五節--WBEAPI及SwaggerUI
6、ABP+AdminLTE+Bootstrap Table許可權管理系統第六節--abp控制器擴充套件及json封裝
7、ABP+AdminLTE+Bootstrap Table許可權管理系統第七節--登入邏輯及abp封裝的Javascript函式庫
8、ABP+AdminLTE+Bootstrap Table許可權管理系統第八節--ABP錯誤機制及AbpSession相關
9、ABP+AdminLTE+Bootstrap Table許可權管理系統第九節--AdminLTE模板頁搭建
10、ABP+AdminLTE+Bootstrap Table許可權管理系統第十節--AdminLTE模板選單處理
11、ABP+AdminLTE+Bootstrap Table許可權管理系統第十一節--bootstrap table之使用者管理列表
12、ABP module-zero +AdminLTE+Bootstrap Table+jQuery許可權管理系統第十二節--小結,Bootstrap Table之角色管理
13、ABP module-zero +AdminLTE+Bootstrap Table+jQuery許可權管理系統第十三節--RBAC模式及ABP許可權管理(附送福利)
未完待續...
運用到的服務端技術:

客戶端:(前端是用的AdminLTE,Bootstrap table.是開源的,不涉及版權)

專案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的機率。"
         風物長宜放眼量,至此,一方面是改變自己懶惰的習慣,催促自己前行,一方面鞭策自己,不斷學習.

1.png
1.png

2.png
2.png

3.png
3.png

相關文章