我看到了实现“加载”反馈的两种基本方法(例如,swirly加载图标):
在演示者中:
void displayData()
{
display.startShowingLoadingIcon();
startLoadingData();
}
void onDataLoaded()
{
display.stopShowingLoadingIconAndDisplayData(data);
}
在显示中:
void showData()
{
startShowingLoadingIcon();
presenter.getData(callback);
}
Callback callback(data)
{
stopShowingLoadingIconAndDisplayData(data);
}
我喜欢第二种解决方案,因为加载反馈似乎显然是用户界面的决定.我不希望我的演示者必须知道任何类型的用户交互.此外,第一种解决方案允许显示器在用户取消请求,其他东西出现等情况下具有一定的灵活性.另一方面,第一种解决方案更易于实现,并且不需要显示器知道主持人.
你是做什么?
最佳答案 我认为它属于视图,因为:
1:你从视图中取出的原因是你可以更容易地测试它.显示加载的简单启动/停止似乎不值得编写测试的逻辑.
2:此功能对视图非常具体,感觉演示者甚至不必了解它.
3:由于视图负责知道如何渲染自身,因此它应该知道如何在需要时显示加载图标.