c# – 实现域驱动设计

前端之家收集整理的这篇文章主要介绍了c# – 实现域驱动设计前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人使用域驱动设计技术吗?我最近阅读了埃里克·埃文斯(Eric Evans)的同名书(其中大部分是这样的),并且有兴趣听到任何在项目中实现全部/部分内容的人(特别是在C#/ C中)

我已经把这个问题开放了,我想尽可能多地看到意见,但我有几个问题:

1 – 如果语言支持,值类型是真实的“值类型”吗?例如C#中的一个结构

2- C#中有什么功能可以使语言和模型之间的关联更加清晰(例如,这是一个实体,这是一个聚合等)

解决方法

是!我在项目中使用DDD(但是 I’m biased!)

请记住,域驱动设计提供了准则,而不是严格的答案.只有经过实验,您才能了解哪些方面适用于您的具体项目.

在你的问题:

1 – 您可以使用结构体,但可能存在阻止您使用它们的技术限制.例如,您可能有实体引用数千个具有相同值的值对象.在这种情况下,最好使用一个flyweight对象来保持内存使用率下降.

2 – 我建议使用界面(例如IEntity,IValueObject,IAggregateRoot,ISpecification).泛型和LINQ可以帮助协助技术问题,但从设计的角度来看,它们的帮助不大.

我创建了一个专门针对DDD的[免费的.NET库] [2],可能会从中找到想法/灵感. [阅读更多关于这里.] [3](项目已经死了)

我真的很感兴趣:你认为DDD的哪些方面会对你有所帮助? “领域驱动”方面,还是实施方面?

猜你在找的C#相关文章