【发布时间】:2012-12-08 13:44:00
【问题描述】:
我想知道下图是哪种 MVC 模式。我们正在根据这种模式使用 ColdFusion 开发一个 Web 应用程序,到目前为止进展顺利。但它甚至是某种 MVC 吗?
前端页面通常包括:
- 包括相应的网关(每个模型组件都有自己的具有专用功能的网关)
- 使用提供的 GATEWAY 结构(包含表示所需数据的组件、数组、结构等)来呈现输出
- 简单的流控制(if/else/loops)来遍历提供的数据或区分视图状态
- 如果需要:构建表单(发布到同一页面)并根据 GATEWAY 规范命名它们的字段名称
GATEWAY 文件(始终与前端页面分开)验证请求(通常是 POST 数据)并负责数据检索(即选择/插入/更新数据库)。通常 GATEWAY 请求数据而不考虑操作(评估运行时数据,如 SESSION)。所有操作都是故障安全的,因此结果结构中要么有数据,要么数据为空。无论哪种方式,结构中的两个数组(成功、错误)都提供了处理期间所有执行操作的日志,以便在前端页面上做出相应的反应。大多数数据是作为组件(对象)提供的,但总而言之,它不是一种完全面向对象的方法。它们唯一的共同点是:它们都描述了输入参数(GET、POST、Session、Cookie)和传出参数,例如(RESTful)Web 服务。
我对所使用的模式提出了很多想法,但我无法在所有方面都匹配。
【问题讨论】:
-
这似乎更像是一个哲学问题而不是编程问题?真的有您正在寻找的具体答案吗?
-
我的一位同事对这种方法提出了质疑,并建议使用完全面向对象的 MVC(分为三个独立的组件,而不是同时处理模型和控制器的基于文件的模块)。我的老板让我澄清这种模式,我不确定我是否可以通过调用“MVC in a different way”方法来证明它的合理性。我认为有更多经验的人可能会看到明显的相似之处。
-
你不会根据它的优点而不是它的名称来证明一个概念的合理性吗?
-
控制器和模型应该分开 - 否则根本就不是 MVC。
标签: web-services model-view-controller design-patterns web-applications coldfusion