标签

 ddd 

相关的文章:

京东科技开发者 -

DDD架构为什么应该首选六边形架构? | 京东云技术团队

采用依赖倒置原则后的分层架构和六边形架构,实际上都符合整洁架构设计理念。但是六边形架构中使用端口与适配器,让应用程序能够以一致的方式被用户、程序、自动化测试、批处理脚本所驱动,同时能够让应用程序边界更加清晰,从而能更好地防止领域层和应用层逻辑泄露到外层。

AI生成摘要 分层架构的一个重要原则是每层只能与位于其下方的层发生耦合。分层架构分为严格分层架构和松散分层架构。典型的DDD传统分层架构包括用户接口层、应用层、领域层和基础设施层。资源库的位置对于传统分层架构来说是个问题,可以采用依赖倒置原则来解决。依赖倒置原则让基础设施层向上依赖领域层,违背了分层架构原则但符合依赖倒置原则。采用依赖倒置后的分层架构类似六边形架构。六边形架构让应用程序能以一致的方式被驱动,边界更加清晰。整洁架构是六边形架构的一种具体架构设计,符合独立于框架、可被测试、独立于UI、独立于数据库和独立于任何外部机构的特点。整洁架构规定了层之间的依赖关系规则。采用依赖倒置原则后的分层架构和六边形架构都符合整洁架构设计理念。

相关推荐 去reddit讨论

解道jdon.com -

DDD实践中如何设计上下文BC之间的映射关系?

如何区分产品基础设施和技术基础设施 : 技术基础 架构 --不需要构建业务/产品背景,主要由开发人员使用。它不会立即影响用户体验,并且可以包含在一个特定的行会中。 产品基础设施——影响用户体验或有产品需求。 平台组负责产品基础设施,而相关技术组负责技术基础设施。 日志记录:属于技术基础架构,因为仅限开发人员要求 身份验证:属于产品基础设施,是和用户体验。例如登录流程 Mongo 包装器:属于技术基础架构,仅限开发人员要求 通过 DB进行数据隔离:属于产品基础设施,因为客户对安全的要求 开放API:属于产品基础设施,因为是实现客户集成的核心组件 在本篇文章..

AI生成摘要 本文介绍了如何区分产品基础设施和技术基础设施,以及与产品基础设施相关的通用技术。文章还讨论了通用有界上下文(GBC)的概念,以及在DDD中的三种主要子域类型。此外,文章还介绍了交叉服务和GBC实用模式,以及依赖、关系和成熟度的类型。最后,文章总结了在构建基础架构时应考虑的不同实用模式。

相关推荐 去reddit讨论

dotNET跨平台 -

开源的 CQRS 和 DDD 风格的 .NET 框架

Revo 框架Revo 是一个开源框架,适用于使用 Event Sourcing 、CQRS 和 DDD 构建的现代化 .NET 应用程序。功能特性•Domain-Driven Design•Event Sourcing•CQRS•SOA•Sagas•授权•多租户•数据访问•数据库迁移•审计架构图使用示例那么使用 Revo 编写程序的是什么样的呢? 下面是一个非常简单的 tod...

AI生成摘要 wolkenkit是基于Node.js的CQRS和事件源框架,支持JavaScript和TypeScript,可构建和运行可扩展的分布式Web和云服务,存储域事件流。可在开源许可下使用,也有企业附加组件。

相关推荐 去reddit讨论

京东科技开发者 -

【实践篇】手把手教你落地DDD

一、前言常见的DDD实现架构有很多种,如经典四层架构、六边形(适配器端口)架构、整洁架构(Clean Architecture)、CQRS架构等。架构无优劣高下之分,只要熟练掌握就都是合适的架构。本文不会逐个去讲解这些架构,感兴趣的读者可以自行去了解。本文将带领大家从日常的三层架构出发,精炼推导出我们自己的应用架构,并且将这个应用架构实现为Maven Archetype,最后使用我们Archety...

AI生成摘要 本文介绍了应用架构的重要性和Maven Archetype插件的使用,提供了一个简单的CMS系统的代码案例,使用了DDD和本文的应用架构实现。

相关推荐 去reddit讨论

京东科技开发者 -

【实践篇】手把手教你落地DDD | 京东云技术团队

本文将带领大家从日常的三层架构出发,精炼推导出我们自己的应用架构,并且将这个应用架构实现为Maven Archetype,最后使用我们Archetype创建一个简单的CMS项目作为本文的落地案例。

AI生成摘要 本文介绍应用架构的核心是输入-处理-输出,Maven Archetype插件的使用和ddd-archetype的安装过程。提供了一个CMS项目作为落地案例,强调完整落地DDD需要掌握限界上下文、上下文映射、充血模型、实体、值对象、领域服务、Factory、Repository等知识点。

相关推荐 去reddit讨论

京东科技开发者 -

关于聚合根,领域事件的那点事---深入浅出理解DDD | 京东云技术团队

本文通过小demo的方式跟大家分享一下我对DDD中战术层级的理解,算是抛砖引玉,该理解仅代表我个人在现阶段的一个理解,也可能未来随着业务经验深入,还会有不同的理解。

AI生成摘要 本文作者分享了自己对领域驱动设计(DDD)中战术层级的理解,并通过一个电商网站下单购物的场景的小demo来说明实践过程中的基本问题。该demo中,商品和订单是两个核心领域概念,分别由对应的聚合根负责管理。同时,通过定义领域事件,实现了不同业务场景下的数据更新和通知。最后,对外提供了一组简单的接口服务,方便系统的使用和扩展。文章重点解释了聚合根和领域事件的概念,聚合根是一个对象,它代表一组相关联的对象的整体,而领域事件是DDD中最重要的概念之一,它可以帮助我们更好地理解业务过程,设计出更加符合实际需求的系统,并提高系统的可维护性和可扩展性。

相关推荐 去reddit讨论

解道jdon.com -

使用ChatGPT帮助DDD领域建模的案例

为ChatGPT提供了 上下文 ,它提供的创造性的部分确实有助于促进与领域专家的讨论:

AI生成摘要 ChatGPT提供上下文,创造性部分有助于与专家讨论。

相关推荐 去reddit讨论

解道jdon.com -

fraktalio/fmodel-spring-demo:Spring + kotlin DDD示例源码

这个项目正在使用 Fmodel  - Kotlin,多平台库。 特点: 使用 Kotlin 编程语言启用函数式、代数和反应域建模。 受到 DDD 、EventSourcing 和 函数式编程 社区的启发,但在惯用的 Kotlin 中实现了这些想法和概念,这反过来又使我们的代码 不易出错, 更容易理解, 更容易测试, 类型安全和 线程安全的。 启用使用示例说明需求 这些要求是作为情景提出的。 从用户的角度来看,场景是系统行为的一个例子, 并且使用 Given-When-Then 结构指定它们以创建可测试/可运行的规范 鉴于Given..

AI生成摘要 该项目使用 Kotlin 编程语言和 Fmodel - Kotlin 多平台库,实现了 DDD、EventSourcing 和函数式编程的概念,使代码更易于理解、测试、类型安全和线程安全。使用 Given-When-Then 结构指定场景以创建可测试/可运行的规范。该项目使用 Fstore-SQL,通过 PostgreSQL 数据库实现事件源和事件流模式,支持乐观锁/并发和实时并发消费者将事件投射到视图/查询模型中。工具详见标题。

相关推荐 去reddit讨论

解道jdon.com -

bitloops/ddd-hexagonal-cqrs-es-eda: DDD、六边形架构、CQRS 完整示例

使用TypeScript和NestJS的领域驱动设计(DDD)、六边形 架构 (Hexagonal)、CQRS、事件源(ES)、事件驱动架构(EDA)、行为驱动开发(BDD)的完整工作实例。 这个开源项目使用了必要的软件架构和 设计模式 ,如 DDD 、六边形架构、CQRS 和最终一致性,使其适合更大的团队在项目上同时工作。它使您可以专注于业务逻辑。 我们在 TypeScript / NodeJS 中创建了它,使用 NestJS 构建并使用其他开源技术(如 gRPC、MongoDB、PostegreSQL、NATS、Grafana、Prometheus 和 Jaeger)来..

AI生成摘要 这个开源项目使用TypeScript和NestJS构建,采用DDD、六边形架构、CQRS、ES、EDA和BDD等软件架构和设计模式。它适合大团队同时工作,提供健壮、有弹性、可扩展和可维护的应用程序。项目包括一个过度设计的ToDo应用程序,展示了易于更改、有弹性且易于维护的模式和原则。通过这个示例,您可以调整业务逻辑代码并拥有一个生产就绪的应用程序。此外,您还将学到六边形架构、DDD、BDD、EDA、CQRS、最终一致性和事件风暴等软件设计和架构模式及原则的知识。

相关推荐 去reddit讨论

京东科技开发者 -

教你玩转微服务--基于DDD的微服务架构落地实践之路

现在对于一个后端开发工程师来说,微服务,DDD都是挂在嘴边的东西,感觉大家接触到多,也了解的多。但笔者在每次接触时都有不同的感受。微服务对于开发人员来说亦是如此,一千个人有一千种解读,而随着每个人自己的业务经验和架构能力的提升,每个人看到的风景也会不一样的。今天笔者想结合一下自己的业务实践,分享一下自己基于微服务架构实践后的心路历程。

AI生成摘要 京东物流赵勇萍指出,微服务架构具有服务寻址、流量管理、可观测性等服务治理能力,采灵通项目构建出业务前端层、网关层、业务服务层、技术底座层的技术架构,实现B商城触达、企业数字化采购供应链的SAAS平台。业务架构师需要充分理解业务,并具备技术维度的能力。

相关推荐 去reddit讨论