ABP技术分享
一、什么是ABP
ASP.NET Boilerplate(ABP)是一个开源且有着完善文档的应用程序框架。它不仅仅是一个框架,还基于领域驱动设计提供了强大的架构模型,并考虑到了所有的最佳实践。
二、ABP 的关键特性和原则
2.1领域驱动设计(DDD)
ABP鼓励使用DDD原则,帮助开发人员专注于对应用程序内核业务逻辑和关系进行建模。
2.2模块化
ABP促进了一种模块化架构,允许开发人员将应用程序拆分为更小、更易管理的模块,可以独立开发和维护。
2.3多租户支持
ABP内置了对多租户的支持,使其适用于为多个客户或组织提供服务的应用程序。
2.4横切关注点
它提供了处理诸如授权、验证、缓存和错误处理等横切关注点的机制,以结构化和一致的方式处理。
2.5应用程序服务
ABP鼓励使用应用程序服务,它们在应用程序逻辑与用户界面之间提供了一个抽象层。
2.6依赖注入
该框架内置了依赖注入系统,使得管理对象的生命周期和处理依赖关系变得容易。
2.7内置用户管理
ABP提供了预先构建的用户和角色管理功能,可以轻松扩展或定制以适应特定的应用程序要求。
2.8支持多个UI框架
ABP支持不同的UI框架,包括ASP.NET MVC、Angular和Blazor,使得在选择前端技术方面具有灵活性。
2.9本地化与国际化
它包括对多语言应用程序的支持,可以轻松地本地化和国际化用户界面。
2.10强大的社区和文档
ABP拥有一个活跃且支持性强的社区,以及广泛的文档和教程,使得开发人员更容易上手,并在需要时获得帮助。
总的来说,ASP.NET Boilerplate为构建企业级应用程序提供了坚实的基础,使开发人员能够专注于业务逻辑,同时遵循软件开发的最佳实践。它是在.NET生态系统中开发复杂且可扩展的Web应用程序的开发人员的常用选择。
三、ABP架构及实现
3.1领域驱动设计
DDD适用于复杂领域或较大规模的系统,而不是简单的CRUD程序.它着重于核心领域逻辑,而不是基础架构.这样有助于构建一个灵活,模块化,可维护的代码库。
DDD高度依赖面向对象编程思想(OOP)和设计原则。
3.2 DDD分层和整洁架构
基于DDD的架构分为四个基础层
业务逻辑分为两层,分别为 领域(Domain) 层和 应用(Application) 层,它们包含不同类型的业务逻辑.
领域层:只实现领域业务逻辑,与用例无关.
应用层:基于领域层来实现满足用例的业务逻辑.用例可以看作是用户界面(UI)或外部应用程序的交互.
展现层:包含应用程序的UI元素.
基础设施层:通过对第三方库的集成或抽象,来满足其它层的非核心业务逻辑的实现.
同样的分层架构也可以如下图所示:被称为 整洁架构, 又或者称为 洋葱架构:
3.3 ABP解决方案分层
3.4项目依赖关系图
3.5 DDD模式的应用程序执行顺序
3.6应用开发
3.6.1.准备开发环境:
Visual Studio 2022, Node v16/18, npm v6+, Redis, DB, ABP CLI
3.6.2创建解决方案
Download template 或者ABP CLI命令
3.6.3运行解决方案
DB Migration, ConnectionStrings, Run Swagger UI/MVC
四、病人管理Demo
4.1 Domain层
1.创建OIS_Patient实体及共享实体(SexType 枚举)
2.将OIS_Patient实体添加到DbContext中
3.将OIS_Patient实体映射到数据库表
4.添加数据迁移
5.添加初始数据
6.更新数据库
4.2 Application层
1.创建DTO( PatientDto,CreateUpdatePatientDto)
2.定义映射
3.创建应用服务接口
4.实现服务接口
5.自动生成API,Swagger UI
4.3 Rest API(自动创建)
4.4 Razor Page UI
......
标签:Web,架构,开发人员,应用程序,ABP,UI,分享,DDD From: https://www.cnblogs.com/ljmzxq/p/17932100.html