2013-01-22 56 views
0

我對使用MVC模式有點困惑。我們有一個三層架構:數據,中間件,前端。我們正在開發適用於iPad的應用程序,它主要執行以下操作:MVC多層移動應用

  • 消耗JSON服務
  • 顯示了一些用戶界面形式的結果
  • 用戶交互(錄音圖標)/修改(編輯某個輸入)
  • 重複...

前次循環的正迭代後,也就是我們消費服務和更新屏幕業務流程完成後,用戶做一些事情,我們使用了應答數據FR om之前的服務加上一些其他的用戶輸入作爲第二個請求的參數,然後第二個的結果饋送到第三個等,直到過程結束。

我的問題是,我真的不知道MVC模式如何適合這個。我只在前端層工作(只使用Cocoa Touch進行iPad開發),我應該在iPad應用程序中使用MVC的三個組件嗎?或者只是視圖和控制器?

我的困惑來自這樣一個事實,就我所瞭解的模型而言,數據層,控制器,中間件和iPad應用程序的視圖,但我覺得我必須在模型中有某種表示前端層。

在此先感謝。

+0

可能的重複項:http://stackoverflow.com/questions/899803/have-i-implemented-an-tier-application-with-mvc-correctly?rq=1,http://stackoverflow.com/questions/ 1135056/mvc-application-how-does-mult-tier-architecture-fit-in?rq = 1,http://stackoverflow.com/questions/2843311/what-is-difference-of-developing-a-website-在-MVC和 - 3層 - 或n層建築師?RQ = 1 –

回答

0

在SO工作一點點MVC模式和閱讀的許多參考,其中大部分來自問題在這裏後,我想我可以給這樣一個答案:

MVC模式是關注一個邏輯分離在應用程序的組件之間。 3層體系結構實現了數據,應用程序處理和演示之間的關注點分離,但它也意味着物理分離,因爲它本質上是服務器 - 客戶端體系結構。

這兩種技術都可以同時使用,因爲它們可以被看作是互補的。

由於MVC模式是一個邏輯分離,所以很可能在不同的物理位置有不同的模型部分。控制器也是如此,您可以在移動設備和服務器中使用不同的控制器。所有的觀點都在設備中。

這裏有一個如何能夠用於開發一個服務器 - 客戶端的移動應用

模式兩種技術的總結

模式是您的數據和規則進行修改,這意味着該模型的部分位於應用程序處理層中。數據可以是本地的,即存儲在設備中,這意味着它位於層中,或者它可以是遠程的,例如在DB中以及代表哪些中間對象在層中。

查看

查看演示層。這是設備上的實際用戶界面。

控制器

控制器也可以在客戶端和服務器物理分佈。 這是從模型接收通知並更新視圖或處理來自視圖的事件並相應地使用模型的所有代碼。這使其處於應用程序處理層。