上一篇文章https://www.cnblogs.com/mbpframework/p/12073102.html,介紹了一下Mbp的框架.其實這個框架寫出來主要是為了學習,當然也可以經過優化運用到實際的項目中.今天我們來說說怎麼使用這個框架. 首先我們用分層的方式來規划下我們的項目代碼結構. Me ...
上一篇文章https://www.cnblogs.com/mbpframework/p/12073102.html,介紹了一下Mbp的框架.其實這個框架寫出來主要是為了學習,當然也可以經過優化運用到實際的項目中.今天我們來說說怎麼使用這個框架.
首先我們用分層的方式來規划下我們的項目代碼結構.
Medical.Ai.Mbdp.Application(應用服務層)
這層,通過poco controller,將應用服務方法提供為動態web api.並提供身份驗證,許可權鑒定,事務功能.在這層使用ef core來進行資料庫操作.如果需要使用領域驅動的方式也是可以,在domain定義實體就好了.依賴註入然後通過依賴註入,獲取實體對象.前提是需要對領域驅動方式熟悉,確保實施的合理性.
Medical.Ai.Mbdp.Application.Contracts(應用服務契約層)
這個層的設計是借鑒abp的分層架構裡面的,在我的設計裡面,這個層主要用來定義DTO及對外公佈的介面.這個層在單體結構下會顯得有些多餘,但是在分散式應用中,特別是微服務的架構中作用會很明顯.
在分散式或者微服務架構中,各個微服務之間的業務來往大部分時候是通過這個層來做的.
Medical.Ai.Mbdp.Domain(實體層/領域層)
這個層用來定義實體的.當我們不實施DDD時候,可以把這個當作poco entity 層來看代就好了.如果要實施DDD,那麼就需要費點勁喔,畢竟很多時候我們的業務都不是一直那麼複雜.
Medical.Ai.Mbdp.EntityFrameworkCore(EF CORE基礎設施)
這個層是數據訪問的基礎設施層,因為換ORM的場景畢竟是不多的,如果考慮到性能問題,在早期的時候就應該分離那些場景.所以這個層就沒考慮做倉儲層了.
Medical.Ai.Mbdp.Web(web api啟動項目)
這個層就是用來啟動我們的程式的,在net core裡面,我們的web程式也是一個獨立運行的程式了,不需要一定要放在IIS上了.
熟悉ABP的小伙伴,一定熟悉這種分層方式,而我也是借鑒了別人的分層方式.
好了,簡單介紹了一下分層設計的想法之後.我還是上一張圖來詮釋下.
好了,前面寫得文字夠多了.接下來就說說怎麼啟動應用.(確保你的電腦安裝了vs2019,sqlserver 2012以上.並且裝了.net core3.1的SDK)
1.下載代碼,使用git下載代碼,gti clone https://github.com/mbpframework/Mbp.git
2.點擊生成,生成成功後,開始下一步
3.刪除Medical.Ai.Mbdp.EntityFrameworkCore項目下Migrations里的代碼文件,全部刪掉.
4.設置Medical.Ai.Mbdp.Web項目為啟動項
5.打開程式包管理控制台,選中項目Medical.Ai.Mbdp.EntityFrameworkCore,然後輸入命令行Add-Migration InitDB
然後再輸入update-database.
6.F5運行,出現界面
到此,就OK.為了方便大家交流,我建一個QQ群.