Уведомить различные части приложения, если событие произошло
У меня есть событие 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
}
}
Но я не могу понять, как реализовать этот способ. Обратитесь за помощью. Спасибо.