加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

.net – 企业规模的DDD?

发布时间:2020-05-22 23:41:45 所属栏目:程序设计 来源:互联网
导读:寻找有关如何解决此问题的建议,并了解Domain Driven Design是否真的是最好的模式. 我的客户正在重新设计其近乎过时的工具和服务堆栈.客户是一个快速扩张的电子商务.它的核心产品是其庞大的电子商务网站.在该网站周围,客户端具有向合作伙伴公开的各种数据馈送.

寻找有关如何解决此问题的建议,并了解Domain Driven Design是否真的是最好的模式.

我的客户正在重新设计其近乎过时的工具和服务堆栈.客户是一个快速扩张的电子商务.它的核心产品是其庞大的电子商务网站.在该网站周围,客户端具有向合作伙伴公开的各种数据馈送.大量内部应用程序,以帮助营销,销售,报告等.大量的用户支持和合作伙伴支持应用程序.大量的各种数据同步,ETL工作等…你得到了图片.

数据存储和数据提供商也很多. NOSQL基于云的超级可扩展存储提供了公共网站上的大部分内容.具有许多数据库的SQL服务器向内部应用程序提供数据.还有一些特殊的搜索服务器可以提供可加速搜索功能,以及应用程序从各种第三方供应商处消费的其他供稿.如果采用DDD,则计划是从数据存储特定的存储库基类继承各种存储库对象组

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

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

我正在寻找关于如何调整DDD或其他架构模式来处理这个巨大混乱的建议:有一个可靠的企业策略,有助于重用,并允许在必要时分离逻辑.除了通常(可扩展,灵活,适应性强,可单元测试,简单等)标准之外.

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

我想我最大的问题是找到一种方法将业务模型分离到不同的域,并且在存在大量共享或重用时仍然保持在一起,同时能够采用高级别的更改.

谢谢你的所有建议

附:这家商店是微软的商店. 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的成本高于您从中获得的成本的小型企业应用程序.

在你的情况下

您已经描述了一个相当复杂的业务规则集,IMO将从DDD中受益匪浅.然而,我还会让您考虑一个SOA,它允许您使用通用消息传递系统将多个体系结构集成到一个企业级框架中.

使用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.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读