Web 应用程序中的 DCI 上下文

Posted

技术标签:

【中文标题】Web 应用程序中的 DCI 上下文【英文标题】:DCI context in a web application 【发布时间】:2012-10-13 10:36:24 【问题描述】:

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于Web 应用程序中的 DCI 上下文的主要内容,如果未能解决你的问题,请参考以下文章

javascript 中的数据上下文交互 (DCI) 和事件编程

什么是 DCI 上下文中的“纯面向对象语言”?

DCI 上下文中的错误处理?

ruby Ruby中的DCI(数据,上下文,交互)范例

ruby 描述Ruby中的DCI(数据,上下文,交互)架构。

如何理解 DCI 模式