【问题标题】:DCI context in a web applicationWeb 应用程序中的 DCI 上下文
【发布时间】:2026-02-13 16:00:02
【问题描述】:

我正在考虑如何以及何时可以在 Web 应用程序中使用 DCI 上下文。我正在考虑这个高级用例:

  1. 用户输入城市、到达、离开、房间类型并点击“搜索”。
  2. 系统显示酒店列表
  3. 用户点击酒店徽标以阅读其详细信息
  4. 系统显示酒店详情
  5. 用户点击“立即预订”
  6. 系统显示支付表单
  7. 用户输入客户详细信息、账单信息并点击“提交”。
  8. 系统验证帐单信息并显示预订确认信息。

这是非常高级的,肯定需要分解。第一步(1-2、3-4、5-6)感觉像是可以通过一些搜索和 REST 架构处理的简单资源请求。所以我的第一个问题是,在这些情况下是否需要 DCI 上下文,纯 MVC 还不够吗?当然,“酒店”数据实体可以发挥作用,但您认为它可行吗,尤其是当它是唯一的参与者时?

最后一步是我看到 DCI 可能非常有用的地方,因为现在需要以程序方式进行工作。 (创建客户、向酒店添加预订、发送确认邮件......)

您对此有何看法?我在正确的轨道上吗?

【问题讨论】:

    标签: model-view-controller dci


    【解决方案1】:

    我想我会说上下文从第 2 步开始。 您有一份可以发挥作用的报价列表。目前这些优惠是酒店优惠,但什么是酒店优惠?它们可能是不同的东西。有些可能来自经纪人,有些可能直接来自酒店,它们是两种不同类型的实体,但它们在这种情况下发挥相同的作用,您可能有更多类型,有些可能是自身的上下文。例如。航班和酒店组合成一个报价,在这种情况下,酒店/经纪人报价和廉价航班报价各自发挥作用,但列出的用例您不必担心这一点,只需使域成为可能独立于用例发展,虽然用例是预订廉价酒店,但我想说我们试图捕捉的形式可以用“找到最佳报价”更好地表达(尽管不准确)

    然后在挑选特定报价时,我会同意您开始新的上下文

    【讨论】: