Уведомить различные части приложения, если событие произошло

У меня есть событие onclick, и мне нужно обновить некоторые представления на веб-странице в соответствии с ответом сервера. Каков наилучший способ реализовать это с помощью слушателей и обработчиков? Я думаю, что я должен создать clickListener и сопоставить его с кнопкой, но я не знаю, как уведомить представления о том, что они должны визуализировать некоторые данные. Например, у меня есть один докладчик (называемый Presenter) и 3 представления (View1, View2, View3). И первый способ сделать что-то вроде этого:

public class Presenter {
    private View1 view1;
    private View3 view2;
    private View3 view3;
    private Button button;
    protected void doSmth() {
        button.setClickListener(new ClickListener() {
            view1.update();
            view2.update();
            view3.update();
        });
    }

}

Но это явно плохой подход. Хороший способ (я думаю) заключается в следующем:

public class Presenter {
    private Button button;
    protected void doSmth() {
        button.setClickListener(new ClickListener() {
            //push object that will trigger handlers in views.
        });
}
//this is the same for all views
public class View {
    protected void handleClickInPresenter() {
    //render the data
    }
}

Но я не могу понять, как реализовать этот способ. Обратитесь за помощью. Спасибо.

0 ответов

Другие вопросы по тегам