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