草庐IT

php - SF3 文件夹结构中的 DDD

我正在考虑一个广告网站,用户可以在其中登录、发布新列表和搜索现有列表。我将把它作为我的第一个完全遵循DDD原则的项目。我以前从未在Symfony中做过任何DDD。以下是我对此的看法。您能否告诉我这是否正确以及关于更好方法的建议?我可以看到两个域:用户和列表搜索/显示/发布功能将存在于列表域中。在用户域中实时登录/注销。SF3目录示例结构为app/ListingBundle/src/Listing.phpSearchService.phpListingRepositoryInterface.phpController/public/ListingController.phpprotect

php - DDD : Domain model namespaces convention

我正在用PHP编写一个带有域模型的应用程序,想知道我应该采用哪种命名约定。假设我有一个Customer,在其聚合根中有一个Address。我还有一个Product,在它的聚合根中有一个Option。我有两个选择:将聚合根保留在域模型的根中:CustomerCustomer\AddressProductProduct\OptionPro:我可以在同一个命名空间中同时使用Customer和Product缺点:Customer必须引用自己的Address作为Customer\Address/li>将所有聚合类分组在同一个命名空间中,包括聚合根:Customer\CustomerCustome

android - java.lang.RuntimeException : Cannot initialize effect engine for type: 0bed4300-ddd6-11db-8f34-0002a5d5c51b Error: -3 错误

我在AndroidMarshMellow、OnePlus上的均衡器应用程序中收到以下错误。java.lang.RuntimeException:UnabletostartactivityComponentInfo{com.my.app.name/com.my.app.name.activity.MainActivity}:java.lang.RuntimeException:Cannotinitializeeffectenginefortype:0bed4300-ddd6-11db-8f34-0002a5d5c51bError:-3atandroid.app.ActivityThrea

c++ - 如何在 DDD(或 gdb)中使用 unique_ptr 调试 C++11 代码?

std::unique_ptr很好,但我发现在DDD中调试时不太舒服或gdb.我正在使用作为gcc一部分的gdbpretty-print(例如,/usr/share/gcc-4.8.2/python/libstdcxx/v6/printers.py)。这是可读性的一大胜利,例如:$printpTeststd::unique_ptrcontaining0x2cef0a0但是,取消引用指针不起作用:$print*pTestCouldnotfindoperator*.当我需要访问该值时,我必须手动复制指针并将其转换为正确的类型,例如:print*((MyType*)0x2cef0a0)如果进

events - DDD 使用 NoSQL 处理限界上下文中多个聚合的最终一致性

我目前正在开发一个DDD地理定位应用程序,它在一个有界上下文中有两个独立的聚合根。由于坐标更新频繁,我使用Redis来保存不允许回滚的数据。我的第一个聚合根是一个行程对象,包含司机(用户)、乘客(用户列表)等。我的第二个聚合根是用户位置更新发送坐标更新时,我将生成并触发“UpdateUserPostionEvent”。作为副作用,我还会在特定点生成并触发“UpdateTripEvent”,这将更新司机/乘客的坐标。我的问题是,如果我异步触发“UpdateLiveTripEvent”,我该如何处理最终一致性。我的UpdateLiveTripEventHandler有几个故障点,除了记录错

c# - DDD 中的多对多关系

我是DDD的新手,我被多对多关系困住了。例如。我们有两个聚合根-Tasks和Workers。Contract绝对不是聚合根,因为没有Task和Worker就没有意义。所以,它应该是一些聚合的一部分。但是它应该属于哪个聚合?我们需要知道所有任务契约(Contract)的汇总成本和所有worker契约(Contract)的汇总成本。在Task和Worker中都有契约(Contract)集合对我来说很自然。好吧,我可以将成本计算转移到领域服务,但我担心这是向贫血模型迈出的一步。是否有处理多对多关系并保留到达域模型的通用方法?谢谢! 最佳答案

c# - 如何将当前用户信息传递到 DDD 中的所有层

类似的问题以前也问过但不太一样(除非我漏了)我想通过我的服务、域、域事件、域事件处理程序传递IUserInfo类实例...什么是最好的方法。我应该通过注册它使用IoC注入(inject)它针对Httpcontext.Current.session["CurrentUser"]的实例;将数据添加到当前线程。任何其他方式我被困在域事件处理程序中,我想在其中使用数据进行审计和发送电子邮件。我希望能够在我的应用程序的几乎任何位置使用CurrentUser信息。随着线程被池化,我怀疑线程的重用是否会重置数据。如果没有,请告诉我如何使用线程传递IUser实例。问候,三月

c# - DDD - 如何实现用于搜索的高性能存储库

我有一个关于DDD和存储库模式的问题。假设我有一个客户聚合根的客户存储库。Get&Find方法返回完全填充的聚合,其中包括Address等对象。一切都很好。但是当用户在UI中搜索客户时,我只需要聚合的“摘要”——只是一个包含摘要信息的平面对象。我可以处理这个问题的一种方法是像往常一样在存储库上调用find方法,然后在应用程序层中,将每个客户聚合映射到CustomerSearchResult/CustomerInfoDTO,并将它们发送回客户端。但我的问题是性能;每个客户聚合可能需要多个查询来填充所有关联。因此,如果我的搜索条件匹配50个客户,这对数据库来说是一个相当大的打击,因为它可能

c# - 是否有使用 DDD(领域驱动设计)的开源项目?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我试图理解DDD背后的概念,但我发现仅通过阅读书籍很难理解,因为它们倾向于以相当抽象的方式讨论该主题。我希望在代码中看到一些DDD的良好实现,最好是在C#中。在开源世界中是否有任何项目实践DDD的好例子?

c# - 在 DDD 中拥有独立的领域模型和持久性模型

我一直在阅读领域驱动设计以及如何在使用代码优先方法生成数据库时实现它。根据我阅读和研究的内容,围绕这个主题有两种观点:有1个类既用作域模型又用作持久性模型有2个不同的类,一个实现域逻辑,一个用于代码优先方法现在我知道意见1)据说可以简化在域模型和持久性模型之间没有太多差异的小型解决方案,但我认为它打破了单一职责原则,并且在ORM的约定干扰时引入了很多问题DDD.令我惊讶的是,有无数代码示例说明如何实现意见1)。但是还没有找到关于如何实现意见2)以及如何映射2个对象的单个示例。(可能有这样的例子,但我没有找到C#的例子)所以我尝试自己实现一个示例,但我不确定这是否是一个好方法。假设我有一