在我看來,提高模型回調不應該是一個大問題,但我想這取決於你的架構和你的個人喜好。所以如果你真的不想在你的模型中有任何連接到視圖的回調函數,你可以讓你的mvvm(或你的表示/應用層)處理控制流,而不是讓模型去做。
您可以實現更精細的模型方法,並讓應用程序層協調模型的操作。這樣,只要模型操作完成並且需要用戶輸入,mvvm層就可以提高回調。
例子:
// method of your view model/application layer
public void InteractiveProcessing()
{
// business logic is separated in smaller chunks
model.DoFirstPartOfOperation();
// check if model needs additional user input
if(model.NeedsInput)
// raise callback here, let user enter input etc...
// continue processing with user input
model.DoSecondPartOfOperation(userInput);
}
當然,這也只意義,如果你可以在你的業務邏輯分成更小的部分。
將是巨大的。模型不應該與像視圖imho這樣的事物混合在一起。 – fex 2014-10-31 22:13:42
我基本上試圖將經典的Windows.Forms程序轉換爲MVVM WPF應用程序用於學習目的。 在Windows中。你點擊一個按鈕的形式,程序處理一堆文件,每隔一段時間它有一個問題如何處理文件X. – 2014-10-31 22:18:29
我想你應該迭代通過文件收集和分別處理它們然後 – fex 2014-10-31 22:21:48