【问题标题】:Domain driven content management?领域驱动的内容管理?
【发布时间】:2010-03-22 13:20:07
【问题描述】:

我想知道 - 在尝试在具有相当复杂的业务逻辑的 CMS 应用程序上应用域驱动设计时,我应该记住什么?那些野兽不是互斥的吗?

Here's article 表明我的意思。

【问题讨论】:

  • 我很想知道你可能得到的答案。
  • @TomislavNakic-Alfirevic 自己回答了一段时间

标签: content-management-system domain-driven-design


【解决方案1】:

我应该记住什么...

DDD 旨在处理复杂的逻辑,因此开始阅读:

最佳做法、最佳做法最佳做法

这是一个关于Great article的(别忘了,去看看DDD资源主题;)

这个Listing 会带来一些代码(它是C#)。

那些野兽不是相互的吗 独家?

一点也不。事实上,DDD 和复杂的领域逻辑之间存在着硬性关系。在使用 DDD 时,您最终使用的许多模式都是为了寻找一种简单的方法来封装使用域时所需的复杂逻辑。例如存储库、工厂、聚合等

我知道你的意思。在阅读了您参考的文章后,您会发现 CMS 可以很容易地作为具有两个不同域的项目 - 内容和表示 -。这是一个很好的方法,事实上我喜欢它。但是 DDD 模式仍然适用 - 并且旨在与它们一起使用:)。

我假设您正在谈论使用 DDD 开发复杂的 CMS。


更新: 我不认为您正在谈论使用 DDD 来开发复杂的 CMS。哈哈哈

我只是无法想象如何解开 来自基础架构的业务逻辑... 还没有。

你好阿尼斯!

是的! CMS 位于 aaaaaaall 类型的系统之上。好点。那么我们可以做些什么来制作一个灵活且解耦的 CMS,它可以很容易地集成在其他系统的肩膀上?

关于数据:

-数据合同,无论您将 CMS 与哪个系统集成。您的 CMS 域模型应该几乎保持不变。限制您使其他系统数据源适应您的 CMS 模型的努力。 ; ) 有用的链接:

关于业务规则:

-Ad-Hoc 业务规则,但是不同的系统,有不同的业务规则。并且您的 CMS 在这方面需要一定程度的灵活性。 有用的链接:

希望这能为您的项目带来一些有用的想法; )

【讨论】:

  • 问题更多是关于内容管理部分。相互排斥,因为内容管理很少是自上而下的手工滚动,而是位于 Web 部件、第 3 方 cms 框架之类的东西的肩膀上,天知道还有什么会对所有应用程序层产生巨大影响。我只是无法想象如何从基础架构中解开业务逻辑......但是。
  • Argh... 我的英语语言质量和思维故障反击了。对此感到抱歉。我有一种感觉,我们仍然没有谈论同样的事情。稍后我将尝试澄清问题。 :)
【解决方案2】:

一切都是为了正确地解耦。

在按照 DDD 理念构建应用程序时使用 CMS 并不是相互排斥的。

CMS 只是另一种技术,另一种表达我们问题解决方案的方式,它与其他技术(如 Asp.Net Mvc、Ruby on Rails、编程语言甚至完全抽象的东西,如设计模式)没有太大区别。

【讨论】:

    【解决方案3】:

    《卫报》就他们的experience applying DDD 做了一次演讲,这可能与内容丰富领域的案例研究有一定的相关性:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 2015-03-30
      • 2020-12-25
      • 2011-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多