ABP vNext-核心根基-领域驱动DDD

Domain-Driven Design 领域驱动设计

领域驱动设计是客户需求驱动设计

什么是客户需求

领域产生

领域产生的实质:人和物关系

商品领域中包含哪些

商品两类数据 1、商品构造。2、商品操作。

领域驱动

把商品领域作为一个整体,给用户使用

为什么要使用领域驱动设计(DDD)

主要目的:解决复杂性系统需求问题

复杂性系统如何使用DDD

复杂性系统为什么要使用DDD(4层架构)

电商系统三层架构

电商系统DDD架构

复杂电商系统中如何落地DDD

落地DDD-领域层

落地DDD-应用层

落地DDD-显示层

落地DDD-基础设施层

EntityFrameworkCore

使用ABP vNext落地DDD

ABP vNext层次依赖关系

1、Domain.Shared 所有项目直接或间接依赖此项目.此项目中的所有类型都可以被其它项目所引用.

2、Domain 仅依赖Domain.Shared项目,因为Domain.Shared本就属于领域层的一部分.例如,Domain.Shared项目中的枚举类型 IssueType 被Domain项目中的Issue实体所引用.

3、Application.Contracts 依赖Domain.Shared项目,可以在DTO中重用Domain.Shared中的类型.例如,Domain.Shared项目中的枚举类型 IssueType 同样被Contracts项目中的CreateIssueDtoDTO所引用.

4、Application 依赖Application.Contracts项目,因为此项目需要实现应用服务的接口及接口使用的DTO.另外也依赖5、

5、Domain项目,因为应用服务的实现必须依赖领域层中的对象.

6、EntityFrameworkCore 依赖Domain项目,因为此项目需要将领域对象(实体或值对象)映射到数据库的表,另外还需要实现Domain项目中的仓储接口.

7、HttpApi 依赖Application.Contracts项目,因为Controllers需要注入应用服务.

8、HttpApi.Client 依赖Application.Contracts项目,因为此项目需要是使用应用服务.

9、Web 依赖HttpApi项目,因为此项目对外提供HTTP APIs.另外Pages或Components 需要使用应用服务,所以还间接依赖了Application.Contracts项目

ABP vNext-DDD内部调用原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值