gpt4 book ai didi

.net - 企业规模的 DDD?

转载 作者:行者123 更新时间:2023-12-04 15:26:20 26 4
gpt4 key购买 nike

寻找有关如何解决此问题的建议,并了解域驱动设计是否真的是这里的最佳模式。

我的客户正在重新构建其几近过时的工具和服务堆栈。客户是一个快速扩张的电子商户。它的核心产品是它的大型电子商务网站。围绕该网站,客户拥有向其合作伙伴公开的各种数据源。大量内部应用程序可帮助营销、销售、报告等。大量用户支持和合作伙伴支持应用程序。大量的各种数据同步、ETL 作业等......你明白了。

数据存储和数据提供者也很丰富。 NOSQL 基于云的大型可扩展存储提供了公共(public)网站上的大部分内容。具有多个数据库的 SQL 服务器为内部应用程序提供数据。还有一些特殊的仅搜索服务器可提供可扩展的搜索功能,以及应用程序从各种 3rd 方供应商处使用的其他提要。如果采用 DDD,计划是让各种存储库对象组从特定于数据存储的存储库基类继承

客户进行了一项练习,他们在“通用”级别上绘制了大多数业务实体:实体名称和关系。在“通用”级别之外,应用程序中各种具体对象的重用数量相当可观,并且根据应用程序的不同,实体的实现也会有所不同。

例如:电子商务网站上的订单实体可能看起来像 X,而处理支持调用的应用程序可能看起来像 Y,此外,对于像 Z 那样进行欺诈分析的人来说。

我正在寻找有关如何调整 DDD 或其他架构模式来处理这个巨大困惑的建议:制定一个可靠的企业战略,以促进重用并在必要时允许逻辑分离。在通常的(可扩展的、灵活的、适应性强的、可单元测试的、简单的等)标准之上。

由于不同的数据存储,DTO 的结构看起来从数据存储到数据存储有很大不同。由于各种业务需求,各种应用程序需要某些实体的不同版本,并且由于公司正在快速扩张, future 高度不稳定,灵 active 至关重要。

我想我最大的问题是找到一种方法将业务模型分离到不同的领域,并在大量共享或重用时将其保持在一起,同时能够适应高水平的变化。

谢谢你的所有建议

附言该商店是微软商店。 VS2010/.NET/SQL/Azure

最佳答案

考虑 SOA + DDD

从表面上看,您应该同时考虑面向服务的架构 (SOA) 和领域驱动设计 (DDD)。类似于 NServiceBus 的东西。

Udi Dahan 在此处提供了有关 DDD + NServiceBus 的精彩视频:

  • http://www.udidahan.com/2010/06/18/cqrs-ddd-and-nservicebus-video/

  • DDD 是关于隔离您的业务逻辑*

    DDD 的核心是将您的领域逻辑与您的应用程序和框架隔离开来,以便您可以确保正确地对业务逻辑进行建模。 DDD 并不适用于每个项目,它绝对不适合维护 DDD 的成本高于您从中获得的 yield 的小型企业应用程序。

    在你的情况下

    您描述了一个相当复杂的业务规则集,IMO 将从 DDD 中受益匪浅。但是,我也会让您考虑一种 SOA,它允许您使用通用消息传递系统将多个架构集成到 1 个企业级框架中。

    使用 SOA
  • http://www.udidahan.com/2009/02/07/nservicebus-19/

  • NServiceBus is a powerful, yet lightweight, open source messaging framework for designing distributed .NET enterprise systems. Entirely pluggable yet simple to use, NServiceBus gives programmers a head-start on developing robust, scalable, and maintainable service-layers and long-running business processes.

    关于.net - 企业规模的 DDD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7073012/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com