0

我对使用 MVC 模式有点困惑。我们有一个 3 层架构:数据、中间件、前端。我们正在为 iPad 开发一个应用程序,它基本上执行以下操作:

  • 使用 JSON 服务
  • 以某种 UI 形式显示结果
  • 用户交互(点击图标)/修改(编辑某些输入)
  • 重复...

一个业务流程在前一个流程的 n 次迭代后完成,即我们消费一个服务并更新屏幕,用户做了一些事情,我们使用前一个服务的响应数据加上一些其他用户输入作为参数到一个第二个请求,然后将第二个的结果提供给第三个,依此类推,直到该过程完成。

我的问题是我真的不明白 MVC 模式如何适合这个。我只在前端层工作(只是用 Cocoa Touch 开发 iPad),我应该在 iPad 应用程序中拥有 MVC 的三个组件吗?还是只是视图和控制器?

我的困惑来自这样一个事实,据我所知,模型是数据层,控制器是中间件,视图是 iPad 应用程序,但我觉得我必须在前端有某种模型表示层。

提前致谢。

4

1 回答 1

0

在使用 MVC 模式进行了更多工作并阅读了许多参考资料之后,其中大部分来自 SO 中的问题,我想我可以给出这样的答案:

MVC 模式是应用程序组件之间关注点的逻辑分离。三层架构实现了数据、应用程序处理和表示之间的关注点分离,但它也意味着物理分离,因为它本质上是一个服务器-客户端架构。

这两种技术可以同时使用,因为它们可以被视为互补。

由于 MVC 模式是一种逻辑分离,因此模型的不同部分很可能位于不同的物理位置。控制器也是如此,您可以在移动设备和服务器中拥有不同的控制器部分。您的所有视图都在设备中。

以下是如何将这两种技术应用于开发服务器-客户端移动应用程序的摘要

模型

模型是您的数据和修改它的规则,这意味着您的模型的一部分位于应用程序处理层中。数据可以是本地的,即存储在设备中,这意味着它位于表示层中,也可以是远程的,例如在数据库中,以及表示数据层中的所有中间对象。

看法

视图位于表示。这是设备上的实际用户界面。

控制器

控制器也可以物理分布在客户端和服务器中。这是从模型接收通知并更新视图或处理来自视图的事件并相应地使用模型的所有代码。这将其置于应用程序处理层。

于 2013-08-13T11:50:58.977 回答