一个微服务+DDD(领域驱动设计)的代码结构示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

/**
 * <p>Description:
 *  DDD:application应用层
 *  相对于领域层,应用层是很薄的一层,应用定义了软件要完成的任务,要尽量简单
 *  它不包含任何业务规则或只是,为下一层的领域对象协助任务、委托工作。
 *  它没有反应业务情况的状态,但他可以具有反应用户或程序的某个任务的进展状态。
 *  负责上下文协调,对外为展现层提供各种应用应用功能(service)。
 *  对内调用领域层(领域对象或领域服务)完成各种业务逻辑任务(event)。
 *  这一层也很适合写一些任务处理、日志监控。
 * </p>
 *
 * @author xq.du
 * @version 1.0
 * @date 2020-12-01 10:29
 */
/**
 * <p>Description:
 *  DDD:domain 领域层
 *  领域层主要负责表达业务概念、业务状态信息和业务规则。
 *  Domain层是整个系统的核心层,几乎全部的业务逻辑会在该层实现。
 *  领域模型层主要包含以下的内容:
 *  实体(entity):具有唯一标识的对象。
 *  值对象(value object):无需唯一标识的对象。
 *  领域服务(service):一些行为无法归类到实体对象或者值对象上,本质是一些操作,而非事务
 * </p>
 *
 * @author xq.du
 * @version 1.0
 * @date 2020-12-01 10:29
 */
/**
 * <p>Description:
 *  DDD:infrastructure 基础设施层,最底层(但与所有底层进行交互)
 *  向其他层提供通用的技术能力(比如工具类、第三方库类支出、常用的基本配置、数据访问底层实现)
 *  基础实施层主要包含以下内容:
 *  为应用层传递消息
 *  为领域层提供持久化机制
 *  为用户界面层提供组件配置
 *  基础设施层还可以通过架构框架来支持四个层次间的交互模式。
 * </p>
 *
 * @author xq.du
 * @version 1.0
 * @date 2020-12-01 10:29
 */
/**
 * <p>Description:
 *  DDD:interface 用户界面层(或表示层) 最顶层。
 *  负责向用户显示信息和解释用户命令。
 *  请求应用层以获取用户所需要展现的数据(比如获取应用系统数据)。
 *  发送命令给应用层要求其执行某个用户命令(实现某个业务逻辑,比如用户新增应用系统)。
 *  用户界面层包含以下内容:
 *  数据传输对象(data transfer object):DTO也被常称作值对象,是数据传输的载体,内部不应该存在任何业务逻辑,
 *                                      通过DTO把内部的领域对象与外界隔离。
 *  装配(assembler):实现DTO与领域对象之间的相互转换、数据交换,因此assembler几乎总是同DTO一起出现。
 *  表面,门面(facade):facade的用意在于为远程客户端提供粗粒度的调用接口,它的主要工作就是将一个用户请求委派
 *                      给一个或者多个service进行处理,也是常用的controller。
 * </p>
 *
 * @author xq.du
 * @version 1.0
 * @date 2020-12-01 10:29
 */
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值