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