Mbp,一个用于学习.net core的开发框架
Mbp(https://github.com/mbpframework/Mbp)是一個.net core 3的企業(yè)級web開發(fā)框架,是我個人用于學(xué)習(xí).net core而發(fā)起的一個開源項目.這個借鑒了國外優(yōu)秀開源項目abp vnext,及國內(nèi)優(yōu)秀開源框架Osharp的一些思想和實現(xiàn).歡迎各路開發(fā)愛好者加入這個項目,一起學(xué)習(xí),一起玩耍,共同成長!
Mbp目前有:
簡單的模塊化系統(tǒng),
基于Jwt的統(tǒng)一身份驗證,
基于角色和自定義策略的統(tǒng)一授權(quán)系統(tǒng),
集成了swagger ui的poco controller
集成了ef core
提供AOP機(jī)制
后面還會繼續(xù)加入Hangfire,IentityServer4,NServiceBus,RabbitMQ,SignalR,Redis,ML,ES,Multitenancy,virtualfilesystem等等.
下面簡單介紹一下Mbp的這個框架吧.首先介紹下整個模塊化框架的構(gòu)成.
?
?1.模塊按照等級分為核心模塊,組件級模塊和應(yīng)用級模塊.核心模塊默認(rèn)為Mbp.Core.框架里面其他的模塊都為組件級模塊,模塊之間會按照依賴關(guān)系順序加載(這是一個to do項).因為目前模塊比較少,啟動也不會出問題,后續(xù)指定了依賴關(guān)系就會好很多拉.運行的時候Mbp會作為一個中間件加入到asp.net core的管道中.
2.Mbp.Core是框架的核心,其主要職責(zé)是將其他模塊的服務(wù)注冊到依賴注入系統(tǒng)中,同時把相關(guān)的中間件加到asp.net core管道中.同時提供了一些底層的抽象定義.
3.Mbp.AspNetCore是針對asp.net core體系封裝的一個基本模塊,同時這也是Mbp一個很重要的模塊,很多模塊都繼承了它.這個模塊的主要職責(zé)是實現(xiàn)了Poco controller和一些篩選器以級基本的asp,net core的設(shè)置都在這個模塊做定義.
4.Mbp.EntityFrameworkCore,這是對EF Core的一個封裝的模塊,這個模塊主要定義了Mbp作為一個企業(yè)級開發(fā)框架的基本主數(shù)據(jù).包括用戶,角色,菜單,權(quán)限,操作日志等(這個模塊有個to do項就是要支持主數(shù)據(jù)的擴(kuò)展)
5.Mbp.Authentication,是統(tǒng)一授權(quán)管理,其主要職責(zé)是定義了框架的授權(quán)策略
6.Mbp.Authentication.JwtBearer,是統(tǒng)一身份驗證模塊,其職責(zé)是配置授權(quán)身份認(rèn)證,包括身份標(biāo)識,設(shè)置驗證參數(shù),設(shè)置驗證事件.
7.Mbp.Ddd.Application,此模塊主要是為了輔助實施DDD而做的,其主要職責(zé)是負(fù)責(zé)DDD應(yīng)用層的相關(guān)能力的提供,比如定義Dto,擴(kuò)展分頁查詢.
8.Mbp.Swagger,此模塊是為框架提供web api接口UI界面.
9.Mbp.LogDashboard,此模塊是為框架提供框架運行日志分析的UI界面.
下一節(jié),將介紹我是如何用這些模塊構(gòu)建一個web 應(yīng)用的.
總結(jié)
以上是生活随笔為你收集整理的Mbp,一个用于学习.net core的开发框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Magicodes.IE 2.0.0-
- 下一篇: net下的高性能轻量化半自动orm+li