2012-01-28 52 views
2

標題可能不容易理解,但在我看來這是處理智能模型時的基本設計問題。選擇我的非貧血域模型的視圖控制器的實現

我有一個代表不同類型文檔的模型對象的層次結構。 說我有不同的按鈕的視圖,每個打開底層對象模型的文檔。當我點擊一個按鈕時,我必須顯示一個視圖,其控制器實現僅依賴於底層模型對象類。我如何得到這個實現? (它可能是在執行按鈕,但然後問題變成如何得到執行該按鈕)

它應該是一個工廠,作爲我的模型的輸入類型,並返回我的視圖控制器?它應該是我的模型,知道如何建立它的控制器(看起來很髒嗎?)?我應該使用組合?還有別的嗎?

我希望我已經夠清楚了。我有點掙扎!

回答

0

你的問題太抽象了,無法給出具體的建議。 MVC模式以許多形式出現在許多技術中。對於一個網頁,它將有一個形狀,對於WPF應用程序,它將具有另一個形狀。一般來說,都有「先查看」和「先控制器」的方法。你可以從任何一個開始,看看它是否適合你的問題,如果不是 - 重構。

您可以探索的另一個領域是現代組合應用程序框架的領域,它提供了開箱即用的模塊化MVC \ MVVM解決方案。如果您正在爲Web編寫代碼,請閱讀ASP.NET MVC及其最佳實踐。例如,如果您正在爲WPF編寫代碼,請閱讀有關MVVM的方法,並參閱Prism。你可能會發現你的問題已經被現有的工具解決了。