MVC多层移动应用程序

时间:2013-01-22 04:08:16

标签: ipad model-view-controller mobile 3-tier

我对使用MVC模式感到有点困惑。我们有一个3层架构:数据,中间件,前端。我们正在开发一款适用于iPad的应用程序,主要执行以下操作:

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

在前一个流程的n次迭代之后完成业务流程,也就是说,我们使用服务并更新屏幕,用户执行某些操作,我们使用来自先前服务的响应数据以及其他一些用户输入作为第二个请求的参数,然后是第二个请求的结果,等等,直到过程结束。

我的问题是我并没有真正看到MVC模式如何适应这一点。我只在前端层工作(只用iPad开发Cocoa Touch),我应该在iPad应用程序中使用MVC的三个组件吗?或者只是视图和控制器?

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

由于MVC模式是逻辑分离,因此很可能在不同的物理位置具有模型的不同部分。对于Controller来说也是如此,您可以在移动设备和服务器中拥有不同的控制器部分。您的所有观看次数都在设备中。

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

的摘要

型号

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

查看

查看位于演示文稿层。这是设备上的实际用户界面。

控制器

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