DDD
文章平均质量分 87
Toormi
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在基于 Go 的 DDD 分层架构中,包含多个server的项目目录结构应如何组织?
在基于 Go 的 DDD 分层架构中,项目目录结构应如何组织?如果项目中既需要启动 HTTP Server 和 gRPC Server,同时还包含一个不对外提供服务的 Worker,那么这几类 Server 应当如何划分和归类?原创 2025-08-29 09:35:09 · 876 阅读 · 0 评论 -
在 Go 项目的 DDD 分层架构中,Echo Web 框架及其 middleware 应该归属到哪一层?
本文探讨了在Go项目的DDD分层架构中,Echo Web框架及其middleware的归属问题以及main方法的组织方式。主要观点如下: 架构分层: 典型DDD+Echo项目目录结构包含cmd(程序入口)、internal(领域层、应用层、基础设施层、接口层)和pkg(公共库) 组件归属争议: 常规做法将Echo和middleware放在interfaces层(作为I/O适配) 更严格的DDD实践建议将Echo归入infrastructure层,通过抽象接口降低框架耦合 main.go职责: 仅负责初始化配原创 2025-08-29 09:27:31 · 1049 阅读 · 0 评论 -
在 DDD 分层架构中,应用层是否仅用于处理对外暴露的接口?
在DDD分层架构中,应用层不仅处理对外接口,还负责编排所有业务用例,包括内部任务。以获取K线数据为例:触发点(如定时任务)位于接口层;应用层定义用例流程,协调领域层进行业务逻辑处理;基础设施层实现第三方API调用和持久化。这种分层确保了业务流程统一管理,避免逻辑分散。应用层的核心价值是组织所有系统行为,无论是否对外暴露。原创 2025-08-29 09:21:08 · 459 阅读 · 0 评论 -
防腐层(Anti-Corruption Layer, ACL)应该位于DDD哪一层?
实现部分属于基础设施层,因为它处理与外部系统的技术交互和数据转换。接口部分通常定义在领域层,作为领域模型的抽象需求。由应用层调用,以协调业务逻辑和外部交互。这种设计既保护了领域模型的纯净性,又通过基础设施层隔离了外部系统的复杂性,是 DDD 处理外部依赖时的推荐实践。原创 2025-03-23 09:40:20 · 1599 阅读 · 0 评论 -
仓储(Repository)应该属于DDD分层架构中的哪一层?
Repository 是 DDD 中的一个核心模式,用于封装对领域对象(如聚合根)的持久化逻辑,提供一个面向集合的接口,让领域层以类似内存操作的方式访问和管理数据。提供对聚合根的增删改查操作。屏蔽底层数据存储的细节(如数据库类型、ORM 框架)。确保领域层与基础设施层的解耦。在 Eric Evans 的《领域驱动设计》一书中,Repository 被视为领域层的一部分,因为它是领域模型的重要组成部分,与聚合根密切相关。Repository 接口属于领域层。原创 2025-03-23 09:39:13 · 781 阅读 · 0 评论 -
什么是依赖注入
在面向对象编程中,一个类(或对象)通常需要依赖其他类(或对象)来完成其功能。例如,一个类可能需要依赖来访问数据库。这种依赖关系如果由内部直接创建(如通过如果的实现发生变化,需要修改代码。测试时无法方便地替换为 mock 对象。依赖注入的目标是通过将依赖关系的控制权交给外部(通常是一个容器或框架),从而解决这些问题。依赖注入是指通过外部机制(而不是类内部)将一个对象所需的依赖传递给它。换句话说,类不再负责创建或管理它的依赖,而是由外部“注入”进来。原创 2025-03-23 09:37:13 · 894 阅读 · 0 评论 -
DDD分层架构
DDD 分层架构通过表现层、应用层、领域层和基础设施层的分工协作,将复杂的业务系统分解为可管理的部分。其核心在于将领域逻辑置于中心位置,通过依赖倒挂和接口隔离技术细节,从而构建出高内聚、低耦合的软件系统。这种架构特别适用于复杂业务场景,能够有效提升代码质量和长期可维护性。原创 2025-03-23 09:35:33 · 1425 阅读 · 0 评论
分享