gpt4 book ai didi

c# - DDD 和 SOA 应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:56 24 4
gpt4 key购买 nike

我负责一个大型 SOA 应用程序。客户端是 ASP.NET WebForms,业务是带有 WCF 的 .NET。

我们的业务代码真的很糟糕(BBOM),经过一些阅读,我陷入了 DDD。我真的很想用 DDD 概念重写我们业务的某些部分。

有了 SOA,我就进入了一个无状态的世界。因此,如果网页为用户提供了操作订单的能力,例如,添加订单详细信息、删除订单详细信息……每个业务方法都必须重新加载数据以在应用业务规则和持久更改之前补充我的聚合。

当涉及的数据很少时,这不是问题。但是,当聚合很大并且需要几秒钟的时间来加载数据和水合时会发生什么?

是否可以以全状态方式使用 SOA 架构?

最佳答案

根据 one definition SOA 无状态,

The Service Statelessness principle provides guidelines in favor of making the service stateless by shifting away the state management overhead from the services to some other external architectural component

因此,状态从服务延迟到其他东西,但显然,它并没有完全消失。

关于延迟状态的所有选项都是开放的。您提到了将其存储在数据库中的潜在性能问题,但您是否首先经历过这些问题?它是 DDD 应用程序中最常见的域状态存储形式,作为一般的良好做法,聚合应该很小。

其他选项包括将状态存储在客户端中、网络框架提供的 session 机制中、cookie 中等。确保您了解每个选项的来龙去脉,以便做出明智的选择。

关于c# - DDD 和 SOA 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34765087/

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