Что контролирует «загрузку» обратной связи в MVP? - PullRequest
4 голосов
/ 06 марта 2011

Я вижу два основных способа реализации «загрузки» обратной связи (например, значок загрузки по кругу):

В докладчике:

void displayData()
{
    display.startShowingLoadingIcon();
    startLoadingData();
}

void onDataLoaded()
{
    display.stopShowingLoadingIconAndDisplayData(data);
}

На дисплее:

void showData()
{
    startShowingLoadingIcon();
    presenter.getData(callback);
}

Callback callback(data)
{
    stopShowingLoadingIconAndDisplayData(data);
}

Мне нравится второе решение, потому что кажется, что загрузка обратной связи - это решение пользовательского интерфейса.Я не хочу, чтобы мой докладчик знал о каком-либо взаимодействии с пользователем.Кроме того, первое решение предоставляет дисплею некоторую гибкость в случае, если пользователь отменяет запрос, что-то еще появляется и т. Д. С другой стороны, первое решение проще в реализации и не требует, чтобы дисплей знал оведущий.

Чем вы занимаетесь?

1 Ответ

2 голосов
/ 07 января 2013

Я думаю, что это относится к представлению, потому что:

1: причина, по которой вы убираете вещи из виду, заключается в том, что вы можете легче их проверить. Простой запуск / остановка показа загрузки не кажется большой логикой, для которой стоит писать тесты.

2: эта функция настолько специфична для представления, что, по ее мнению, докладчик даже не должен знать об этом.

3: Поскольку представление отвечает за знание того, как визуализировать себя, имеет смысл знать, как отображать значок загрузки при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...