極簡實用的Asp.NetCore模塊化框架決定免費開源了

背景

 在開發這個框架以前,前先後後看過好幾款模塊化的框架,最後在一段時間內對ABP VNext痛下狠心,研究一段時間後,不得不說 ABP VNext的代碼層面很規範,也都是一些最佳實踐,開發出一個模塊效率也很高。但不得不說,於我而言過重了。還看過一些其餘模塊化的框架,就不說了,學習成本於我而言過高了,主要是本身懶。

因而,我在想有沒有一款上手簡單,比較經濟實用的模塊化框架,只要會.net core 基本就能夠上手呢,因而,將ABP VNext的模塊化核心代碼抽出來(在這裏要特別感謝土牛了),結合asp.net core很完美,我自己的需求就是作到業務邏輯代碼可以複用,不用常常一些已經寫過好幾遍的簡直難受到要吐的重複代碼,這於我而言就足夠了。

框架簡介

一款基於Asp.net core3.1的模塊化開發框架,提取了ABP VNext的模塊核心,適合中小型項目快速開發,取名爲神牛(ShenNius),意爲大神大牛多提意見,一塊兒參與,神牛雲集,爲dotnet社區貢獻一份本身的力量。追求「簡單」,「高效」,「實用」,總之秉承大道至簡的原則開發,堅持業務模塊最低複雜度複用,只要會C#,再會點Asp.NetCore基礎知識,極易上手。適合小白入門進階,更適用(實用)老手上路幹活。
全部的業務代碼能夠按照類庫劃分,使用宿主託管。全部的代碼堅持" Don't repeat yourself "。堅定反對" 簡單的事情複雜幹 "," 大量代碼在應用層過分層層封裝 ",反對" 過分設計 "的原則下進行開發。若是你有這個習慣,而且也想找一款迷你型、上手快,不用學習太多東西的框架,那麼它就適合你,只要你會dotnet core,幾乎沒有學習成本,除了ABP VNext的模塊化核心代碼。另外、順手作了個簡單的後臺權限管理作爲入門例子。採用LayuiMini+Asp.Net Core Razor Page,原本是想用Blazor,我先後看了幾款UI框架,目前都不是很成熟,須要踩坑。而我因爲時間比較緊迫關係,只有本身一我的,先使用Layui,後期有時間我仍是想上Blazor的,目前整個先後端交互基本都是分離的,後面想要切換到Blazor,也很好對接。
注:權限後臺管理有部分樣式之類的有借鑑「 FytSoaCms」這個開源項目​。​
前端

軟件架構

  1. API框架:dotNetCore
  2. ORM:SqlSugarCore
  3. 緩存:MemoryCache(後期會上redis,看項目業務需求)
  4. 日誌管理:Nlog
  5. 工具類:Aes加密、Md5加密、RSA加密、Des加密
  6. token:Json Web Token
  7. 實體驗證:FluentValidation
  8. 實體映射:AutoMapper

使用說明

  1. ShenNius.ModuleCore是模塊化的核心代碼
  2. ShenNius.Swagger是封裝的API Doc
  3. ShenNius.Share.Infrastructure 基礎設施、裏面包含經常使用的擴展方法、靜態類
  4. ShenNius.Share.Models 實體層、裏面包括Dto驗證、配置類
  5. ShenNius.Share.Service 服務層、業務邏輯基本都在這個裏面、裏面包含了數據訪問操做。
  6. ShenNius.Sys.API 基於RBAC的權限API。
  7. ShenNius.Cms.API 基於Cms的API (待完成)
  8. ShenNius.Shop.API 基於Cms的API (待完成)
  9. ShenNius.API.Hosting API的宿主,全部API目前都放在這個裏面託管,這也是魅力所在,能夠Sys和Cms API各自託管使用獨立的宿主,主要看業務量。拆合很容易。
  10. ShenNius.Layui.Admin 基於layui的後臺管理。

安裝教程

  1. git clone https://gitee.com/shenniu_code_group/shen-nius.-modularity.git
  2. 多項啓動ShenNius.API.Hosting 和ShenNius.Layui.Admin
  3. ShenNius.API.Hosting 能夠配置你要啓動的API項目

效果圖

 

最後說明


這個框架,我一直會更新下去,不斷的去調整架構,關於Asp.Net Core Api如何配置swagger,FluentValidation等技術文章我近期也會更新文章出來,只要業務須要,我會將一些技術點慢慢地融入到框架中來。儘可能作到務實,儘可能不在應用層封裝本身大量的東西,增長學習成本。我本人真的不喜歡在應用層封裝大量東西的框架,包了一層又一層,沒任何意義。
另外,近期我會把一些權限管理的前端bug修復下,前端技術我是個半桶水,真的很發愁,若是有人願意一塊兒作開源,爲社區貢獻一份力量,那就盡情的聯繫我吧。之前本身也作了大量的我的項目,但都沒有開源出來。此次基本也是從小白作起,一塊兒學習如何作好一個開源項目。

對了,近期我也會把CMS模塊儘快完善起來,商城模塊後面逐漸排期更新。
最後,若是有什麼問題,我也自建了"dotnet根據地"這樣一個微信羣,能夠識別下面的二維碼加入,一塊兒交流溝通,若是羣二維碼過時了也能夠識別下面二維碼加我微信,邀請你加入微信羣​。git

 

源碼地址


碼雲:https://gitee.com/shenniu_code_group/shen-nius.-modularitygithub

github:https://github.com/realyrare/ShenNiusFrameworkredis

相關文章
相關標籤/搜索