ABP快速开发一个.NET Core电商平台
總聽(tīng).NETer羨慕Java有SSM框架,其實(shí).NET也有ABP,極度優(yōu)秀的開(kāi)源應(yīng)用程序框架,支持.NET Framework和.NET Core。
羨慕Java有SpringCloud,其實(shí).NET也有ABP.vNext,由ABP團(tuán)隊(duì)全新打造的.NET Core+微服務(wù)架構(gòu)開(kāi)源框架,獲得眾多.NET大佬的推崇,也有很多企業(yè)招聘明確要求ABP了,你get了嗎?
本文為.NET Core下ABP框架篇(干貨長(zhǎng)文),包括ABP介紹,核心內(nèi)容,以及ABP實(shí)戰(zhàn),最后還有彩蛋喲!ABP.vNext門檻較高,下一篇見(jiàn)!
ABP介紹
ABP是ASP.NET Boilerplate的簡(jiǎn)稱,是一個(gè)開(kāi)源且文檔友好的應(yīng)用程序框架,還提供了基于領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)的體系結(jié)構(gòu)模型。
初次了解ABP框架,就被驚艷到了,基本上是.NET 領(lǐng)域架構(gòu)的集大成者,幾乎囊括了我們.NET領(lǐng)域的各種技術(shù),支持.NET Framework和.NET Core雙平臺(tái)。
ABP官方網(wǎng)站:http://www.aspnetboilerplate.com,有詳細(xì)的案例和文檔說(shuō)明(學(xué)習(xí)福音)。
GitHub源碼:https://github.com/aspnetboilerplate,網(wǎng)址可以下載整個(gè)基礎(chǔ)的框架內(nèi)容,以及相關(guān)的樣板案例代碼。
筆者使用ABP框架有好幾年了,下面給大家捋一捋ABP的核心內(nèi)容,一方面讓大家看看ABP能為你帶來(lái)什么,大家在用的時(shí)候也能有個(gè)方向。
ABP核心內(nèi)容
ABP框架提供的開(kāi)發(fā)必備內(nèi)容:
依賴注入,ABP用的是 Castle windsor 來(lái)實(shí)現(xiàn)依賴注入,也支持?jǐn)U展autofac;
Repository倉(cāng)儲(chǔ)模式,支持Entity Framework、NHibernate、MangoDB、內(nèi)存數(shù)據(jù)庫(kù)等;
身份驗(yàn)證與授權(quán)管理,可以使用聲明特性的方式對(duì)用戶是否登錄,或者接口的權(quán)限進(jìn)行驗(yàn)證,細(xì)粒度完成各個(gè)接口的調(diào)用權(quán)限設(shè)置;
數(shù)據(jù)有效性驗(yàn)證,ABP可以根據(jù)屬性的信息對(duì)屬性的有效性進(jìn)行校驗(yàn);
審計(jì)日志記錄,記錄對(duì)每個(gè)接口的調(diào)用記錄,以及對(duì)記錄的創(chuàng)建、修改、刪除人員進(jìn)行記錄等處理;
Unit Of Work工作單元模式,為應(yīng)用層和倉(cāng)儲(chǔ)層的方法自動(dòng)實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù);
除了上述的還有這些:
異常處理,有一整套比較完善的流程處理操作,可以很方便的對(duì)異常進(jìn)行進(jìn)行記錄和傳遞;
日志記錄,可以利用Log4Net進(jìn)行常規(guī)的日志記錄,方便我們跟蹤程序處理信息和錯(cuò)誤信息;
多語(yǔ)言/本地化支持,ABP框架對(duì)多語(yǔ)言的處理也是比較友好的;
Auto Mapping自動(dòng)映射,來(lái)實(shí)現(xiàn)域?qū)ο蠛虳TO對(duì)象隔離和數(shù)據(jù)綁定;
動(dòng)態(tài)Web API層,一個(gè)很酷的應(yīng)用,自動(dòng)生成服務(wù)而不需要WebApi控制器,非常方便;
動(dòng)態(tài)JavaScript的AJax代理處理,自動(dòng)創(chuàng)建Javascript 的代理層來(lái)更方便使用WebApi。
ABP框架提供的一些特別內(nèi)容:
多租戶支持,每個(gè)租戶的數(shù)據(jù)自動(dòng)隔離,業(yè)務(wù)模塊開(kāi)發(fā)者不需要在保存和查詢數(shù)據(jù)時(shí)寫(xiě)相應(yīng)代碼;
軟刪除支持,繼承相應(yīng)的基類或?qū)崿F(xiàn)相應(yīng)接口,會(huì)自動(dòng)實(shí)現(xiàn)軟刪除;
系統(tǒng)設(shè)置存取管理,系統(tǒng)級(jí)、租戶級(jí)、用戶級(jí),作用范圍自動(dòng)管理;
EventBus實(shí)現(xiàn)領(lǐng)域事件(Domain Events)
插件化模塊處理,支持模塊拆分以及模塊的依賴關(guān)系等
ABP框架主要還是基于領(lǐng)域驅(qū)動(dòng)的理念來(lái)構(gòu)建整個(gè)架構(gòu)的,其中領(lǐng)域驅(qū)動(dòng)包含的概念有域?qū)ο驟ntities、倉(cāng)儲(chǔ)對(duì)象Repositories、域服務(wù)接口層Domain Services、域事件Domain Events、應(yīng)用服務(wù)接口Application Services、數(shù)據(jù)傳輸對(duì)象DTO等。對(duì)于很多沒(méi)有用過(guò)ABP的小伙伴兒來(lái)說(shuō),上手還是很懵的。
下面給大家準(zhǔn)備了為期3天的《ABP跨平臺(tái)電商實(shí)戰(zhàn)》專題訓(xùn)練營(yíng),掃碼免費(fèi)學(xué)習(xí),搞定ABP實(shí)戰(zhàn)!
ABP跨平臺(tái)電商實(shí)戰(zhàn)
Day1
Asp.Net Core接入ABP框架,理解DDD領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),解讀ABP項(xiàng)目結(jié)構(gòu),基于CodeFirst模式完成數(shù)據(jù)初始化,動(dòng)態(tài)API提供數(shù)據(jù)管理。
Day2
搭建Vue+動(dòng)態(tài)Core WebApi前后分離架構(gòu),完成商品頁(yè)加載,基于Axios數(shù)據(jù)交互,手寫(xiě)搜索排序等核心功能實(shí)現(xiàn)。
Day3
繼續(xù)商品詳情頁(yè)核心功能實(shí)現(xiàn):多屬性選擇篩選、數(shù)量自動(dòng)監(jiān)聽(tīng)、購(gòu)物車功能等,動(dòng)態(tài)API原理解剖和調(diào)優(yōu),前端-后端-數(shù)據(jù)庫(kù)一體化打通。
彩蛋-送福利
ABP框架是.NET技術(shù)的集大成者,里面整合了非常多的東西,要完成ABP跨平臺(tái)實(shí)戰(zhàn),你還需要以下預(yù)習(xí)資料,掃碼自取,手快有手慢無(wú)!(由于領(lǐng)取人數(shù)眾多,添加微信:18672997769 也可
微軟MVP組建的.Net社區(qū)
你加入了嗎?
微軟MVP:Eleven組建
國(guó)內(nèi)首屈一指的.Net活躍社區(qū)
完整配套的學(xué)習(xí)資料
最新最熱的技術(shù)文章
社區(qū)內(nèi)優(yōu)質(zhì)崗位直推
全部免費(fèi)奉送給大家
優(yōu)質(zhì)內(nèi)容持續(xù)更新中
戳以下文章立即獲取
????????????
禁止外傳!社區(qū)內(nèi)部VIP干貨資料自取
(課程視頻+面試題+技術(shù)專刊+崗位內(nèi)推)
總結(jié)
以上是生活随笔為你收集整理的ABP快速开发一个.NET Core电商平台的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [NewLife.Net]单机400万长
- 下一篇: 基于.NetCore3.1系列 —— 日