温故知新,遇见ABP vNext开源应用程序框架,基于领域驱动设计(DDD)的最佳实践结构模型
ABP的前生今世
什么是ABP(ASP.NET Boilerplate Project)
ABP是用于创建现代Web应用程序的完整架构和强大的基础设施! 遵循最佳实践和约定,为你提供SOLID开发经验。
ABP(ASP.NET Boilerplate Project
),中文翻译为"ASP.NET样板项目",是一个开源且文档友好的应用程序框架。ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领域驱动设计(DDD
)的体系结构模型,可以支持.Net framework
和.Net Core
两种技术流派。
领域驱动设计(
DDD
,Domain-Driven Design
)是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法。
ABP是基于最新的ASP.NET CORE
,ASP.NET MVC
和Web API
技术的应用程序框架。并使用流行的框架和库,它提供了便于使用的授权,依赖注入,验证,异常处理,本地化,日志记录,缓存等常用功能。
ABP实现了多层架构(领域层,应用层,基础设施层和表示层),以及领域驱动设计(实体,存储库,领域服务,应用程序服务,DTO等)。
什么是ABP vNext
ABP vNext
是ASP.NET Boilerplate Project
基于.Net Core
的全新重构版本,称为ABP
,其前身是ASP.NET Boilerplate Project
,其与ASP.NET Boilerplate Project
的关系类似于.Net Core
与.Net Framework
的关系。
ABP vNext
将不支持ASP.NET MVC 5.x
,、Entity Framework 6.x
和其他ASP.NET传统技术。
如张善友老师所言:
在.NET社区里一直有声音是期望有一个
Spring Boot
这样的项目,现在我可以告诉大家ABP vNext
可以媲美Spring Boot
这样的项目,ABP vNext
融合了大量.NET社区的开源项目,让你在开发项目的过程中选择不同的开源项目组合起来,大大降低你使用相关开源项目的门槛,最明显的例子就是Identity Server4
,Identity Server 4
是一个OpenID Connect
规范实现的开源框架,它还无法做到开箱即用这样的一个层度,那么ABP vNext
将Identity Server 4
封装成一个Identity Server
模块,你就可以做到开箱即用。
其他同类型项目还包括:
- https://github.com/dotnetcore/Util
- https://github.com/dotnetcore/OSharp
- https://github.com/dotnetcore/WTM
ABP vNext社区
由一群官方以外的使用者形成的社区,尤其是以国内的小伙伴为主。
在空间https://github.com/EasyAbp/awesome-abp 还汇聚了学习和使用Abp的相关资源。
ABP.IO平台
之前只有开源的ASP.NET Boilerplate Project
项目,后面有了Abp商业版,以及ASP.NET Zero,ABP.IO平台
包括开源ABP框架和ABP商业版。
ABP商业版(ABP Commercial)
ABP商业版
(ABP Commercial
)基于ABP框架, 这是一个开源和社区驱动的ASP.NET Core Web
应用程序开发框架,ABP商业版
提供所有现代企业级基于ASP.NET Core
的解决方案所需要的基础设施。从设计到部署,整个开发生命周期都由ABP的内置功能和模块提供支持。
ABP商业版不是付费版本的ABP框架,可以把它当作为专业公司提供的附加套餐,你可以用它来节省时间和更快地开发产品,一个原则是,我们创建的主要基础设施作为开源产品, 然后销售额外的预制应用程序功能,主题和工具.类似于
ASP.NET Boilerplate
和ASP.NET Zero
产品,购买商业版许可极大地节省你的时间和精力,你可以专注于自己的业务,此外也可获得专门的和优先的支持.同时,你也在支持ABP核心团队,因为我们花了大部分时间来开发,维护和支持开源的ABP框架。
ASP.NET Zero
ASP.NET Zero
是利用ABP框架搭建的模板项目,它会提供预建的页面及强大的基础设施架构。利用它提供的基础框架代码能让你快速的开发你的应用层。
参考
- https://abp.io
- Introducing the ABP vNext
- https://github.com/abpframework/abp
- https://github.com/aspnetboilerplate
- 领域驱动设计(DDD)-基础思想
- ABP 框架
- ABP架构学习之路
- 什么是ASP.NET Boilerplate Project(ABP)框架
- 我和ABP vNext 的故事
- https://github.com/dotnetcore
- Util应用框架
- OSharp Framework
- WalkingTec.Mvvm
- https://github.com/easyabp
- ABP从入门到精通(1):aspnet-zero-core项目启动及各项目源码说明
- https://www.aspnetzero.com
- https://commercial.abp.io
- ABP框架v2.0 和 ABP商业版
- [译]ABP vNext介绍
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步