2013-06-25 17 views
2

我是新來的骨幹,儘管讀了幾個資源,有點不確定如何構建我的觀點和相應的模型。一個(相當複雜的)骨幹視圖的最佳佈局機制?

有問題的視圖是一個自定義Facebook視圖,它頂部有一個過濾器(下拉列表),然後是下面的內容視圖 - 取決於過濾的內容會顯示一些內容。

例如,您可以在過濾器中包含所有項目,狀態,照片和羣組。

如果用戶選擇全部,那麼內容視圖應呈現用戶的所有狀態,照片和組更新。鑑於狀態與照片不同,視圖應該能夠以不同方式呈現狀態和照片。

如果用戶選擇狀態,則只顯示狀態列表。

問題是,我是否爲雕像,照片等創建了單獨的模型集合,或者只是一個擁有所有狀態,照片等的多態集合模型?

視圖如何?我是否應該創建不同的視圖,其中一個用於顯示所有項目,然後是每個項目選擇一個,或者我應該只有一個視圖並且有邏輯以基於模型呈現不同的東西?

謝謝!

回答

1

我會去構建視圖的方式是。

ContainerView (Holds dropdown and the content) 
    | 
    | 
    |-----> HeaderView ( This holds the Drop Dwon) 
    | 
    |-----> ContentView (This holds the content) 
       | 
       | 
       |------> ListView (For all the models) 
          | 
          | 
          |----> ListItemView (Render each model in collection 

你將不得不將一起到內容查看傳遞一個收藏對象。

您的列表視圖將會聽取reset並更改下拉菜單的事件並呈現列表視圖,該列表視圖將遍歷集合並呈現每個模型的ListItemView

現在你已經有2個接近處理Photosstatus和組。

您可以在每個模型上都有一個屬性,表明它屬於group的類型,並且已根據屬性呈現不同的模板,或者您可以爲每個組都有單獨的視圖。我會選擇後者(可能是矯枉過正)。但如果您在可擴展性和性能方面進行交流,這將會很有幫助。