【问题标题】:Is Domain-Driven Design still valid right now? [closed]领域驱动设计现在还有效吗? [关闭]
【发布时间】:2011-12-30 20:08:51
【问题描述】:

我们希望为我们的 OO 设计实施一个模型或指南。我们喜欢领域驱动设计。我们的具体问题是:您认为 DDD 现在在模式设计之外仍然有效吗?如果是这样,是否存在我们应该评估的其他方法或变体?

从根本上说,我们使用 Visual Studio (c#) 开发企业 Web 和桌面应用程序。

提前致谢

【问题讨论】:

    标签: oop domain-driven-design models


    【解决方案1】:

    在我看来,DDD 在今天与以往一样重要。应该努力实现一种通用语言,这样代码中的领域就不会脱离领域专家所描述的领域,这种想法可能会在很长一段时间内保持一个好主意,而今天更容易专注于域优先,并将持久性视为比以前更“次要”的问题。同样,DDD 需要重要的设计工作,其价值与领域的复杂程度成正比。

    我没有使用该方法编写任何应用程序,但我最近阅读了很多关于事件溯源和 CQRS 的内容,它们似乎都是一种非常有趣的方法,应该非常适合 DDD(并且通常被那些是 DDD 的支持者)。

    我现在找不到,但是网上某处流传着一段 Eric Evans 的采访视频,您可能有兴趣观看 this video of Eric Evans,这是一种写这本书几年后回顾了该方法,以及他现在会做些什么不同的事情。

    【讨论】:

    • 我想这是你引用的视频链接:infoq.com/presentations/ddd-eric-evans
    • 谢谢,就是这样 - 出于某种原因,我的 Google-fu 早先出卖了我,将其添加到答案中。
    • 我们确实在寻找一种方法,使我们能够为客户的投资提供保证,而不仅仅是在可用性和稳定性方面(如果无法有效维护)。我认为 DDD 在这方面非常适合,似乎一个关键是确定 DDD 可以在哪些项目中增加价值并将其应用到那里,即使只应用在项目中最复杂的领域也可能是另一种选择。
    • 另一个关键点是如何避免模型(如常见和普遍的语言)和代码之间的不一致,还必须看看有多少非技术人员可以通过这种交流方式参与进来,如果我们将不得不面对其明显开销的学习曲线。我认为,评估这样的 DDD-Agile 可以结合起来会很有趣。我在这里发现了一些有趣的点:deepfriedbytes.com/search/?q=episode+6 和这里:(infoq.com/articles/ddd-in-practice)
    • 您可能还对这篇关于将事件溯源作为战略优势的帖子感兴趣:lostechies.com/jimmybogard/2011/10/11/…
    【解决方案2】:

    我认为 DDD 和以前一样还活着(或死了)。我的看法是,“领域”之所以成为今天的热门话题,是因为 DSL(领域特定语言)和 MDE(模型驱动工程)。

    您可能想详细了解一种类似的“领域驱动”方法,称为 DSM - 领域特定建模。在 DSM 中,您可以处理模式,但您也可以定义代码生成器,将您的特定领域设计转换为工作代码。

    查看DSM Forum 或维基百科了解有关 DSM 的更多信息。

    目前该领域最著名的两个工具是来自 MetaCase 的 MetaEdit+ 和来自 Isomeris 的 AtomWeaver

    【讨论】:

    • 不知道为什么你被否决了——+1 以平衡它。
    • @david 谢谢。我想这是因为我对 DDD(第一段)的评论是在否决之后添加的......
    猜你喜欢
    • 1970-01-01
    • 2010-09-11
    • 2012-06-08
    • 2010-11-16
    • 2011-10-06
    • 1970-01-01
    • 2011-09-10
    • 2019-06-27
    • 1970-01-01
    相关资源
    最近更新 更多