abp加DDD开发:低耦合、可复用、可扩展的【工单】业务模块-简介和集成 (2)

核心业务逻辑在工单实体类中,它定义了相应的业务方法,内部会改变工单实体自身的一些状态,必要时触发相应事件,以此来确保工单始终能处于正确的状态,比如:某个已完成的工单无关联的员工或没有开始和完成时间;再比如某个已拒绝的工单,没有拒绝说明。如果实体的属性都是public get; set; 很容易出现这种问题,因为协作开发时别人很可能胡乱调用你的实体,随意设置值。

领域服务有少量代码,也触发相应的领域事件。

应用服务来接收前端调用,协调领域实体和服务来实现业务逻辑。

关于DDD下篇详细说明设计思路时再细说

集成

可扩展性中提到工单是抽象化的,但默认提供了一个”普通工单“的实现,因此安装并配置模块后此功能立即可用。另外也可用提供几个子类实现一个自定义类型的工单。

线上demo::9000/  账号:admin 密码:123qwe

先在abp官方下载一个干净的abp项目,写此文章时用的abp6.3 .net 5。或者你可用在你目前的项目引入并测试。按以下步骤进行配置。

安装nuget包

相关nuget包都是以:BXJG.WorkOrder为前缀的。

先确保:

在解决方案上右键 > 管理解决方案的包 > 更新 -> Castle.Windsor.MsDependencyInjection 升级到3.4.0

在解决方案上右键 > 管理解决方案的包 > 更新 -> Microsoft.EntityFrameworkCore 更新到5.0.4

XXX.Core层中

Install-Package BXJG.WorkOrder.EFCore -Version 1.0.0-rc

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdswf.html