所以,我非常喜欢将business logic
与UI code
(MVC或MVVM)分开的想法。但是,假设在应用程序中发生某些事件(在业务逻辑中),并且需要用户输入(对话框)才能继续。
例如,如果您对某种货币或某种类型的股票进行模拟,并且在您的模型中进行了一些计算,并且突然股票价格非常高,您想要让用户卖出它们(“是 - 否”对话)。有什么好办法可以解决这个问题? (我没有提出这样的申请,这只是一个例子,所以请抽象地回答)。
伪代码:
update() {
...
if(stock->price > Stock::ADVICE_BUY_PRICE) {
showDialog("..."); // !! AVOID UI LOGIC IN MODEL !!
}
...
}
这个问题可能已经被提出过,但我还没有找到一个好的答案。如果已经有可行的答案,请将答案标记为重复。