2013-05-30 110 views
2

Ember中的'MVC'的實現似乎與我已經習慣的略有不同。它感覺好像Ember中的流程鼓勵將業務邏輯放置在控制器中。這是意圖,還是僅僅是許多過時的或簡短的例子,教程和小提琴的混淆結果?Ember中的胖模型或控制器

PS:這些「過時或簡寫」的例子都已經在他們的時間寶貴,我也完全明白的努力及其作者:)

回答

4

灰燼的MVC架構並不是照片直接媲美的一個典型的Web應用程序主要區別在於服務器MVC體系結構只處理請求範圍,而應用程序沒有請求概念。整個應用程序可用,或根本沒有。

服務器端代碼主要做模型操作和通知,所以擁有胖模型/瘦控制器是有道理的。控制器實質上是模型的路由器。

如果您將Ember的控制器看作型號代理,那麼在使控制器變胖時更有意義。所有的邏輯委託給控制器,模型真的只是在那裏服務對象。這是一個簡化的佈局。

服務器端架構

View  - Displays information 
Controller - Delegates request to relevant model, 
      calls the appropriate view with relevant (manipulated) data 
Model  - (Fat) Most of the application's thinking happens here, 
      calls the database for records 
(database) - Serves records as requested 

灰燼建築

Router  - Sets up which template/view/controller to use for the page 
Template/View - Displays information from the controller 
Controller - All interactive logic goes here, 
       interacts with model for records 
Model   - Record store which calls server side api for additional records 

正如你所看到的,餘燼模型應該被看作更像是服務器端的數據庫功能,而餘燼控制器更像是服務器端控制器。

看看Core Concepts和在燼頁上的Introduction to Controllers瞭解更多信息。

+0

太棒了!那就是我所希望的答案,並且得到了很好的解釋。乾杯! –

相關問題