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