Re: MVC и обновление View
От: maxkar  
Дата: 27.03.12 13:07
Оценка:
Здравствуйте, Tanker, Вы писали:

T>Какой вариант предпочтительнее ? Какие есть еще возможности ?


Не нужно пинать view для обновления. Она должна привязываться к модели:
public interface LayoutModel {
  public void addChangeListener(listener : LayoutModelListener);
  public void removeChangeListener(listener : LayoutModelListener);
}

public interface StyleModel {
  public void addChangeListener(listener : StyleModelListener);
  public void removeChangeListener(listener : StyleModelListener);
}

public interface GroupingModel {
  public void addChangeListener(listener : GroupingModelListener);
  public void removeChangeListener(listener : GroupingModelListener);
}

public class View {
  public View(layout : LayoutModel, style : StyleModel, grouping : GroupingModel) {
    ...
  }
}

Вся логика работает с реализациями моделей, может устанавливать в них данные и т.п. С view логика не работает вообще. Все изменения проходят через события, на которые подписан view. Ну а view по событиям уже обновляется. Если же управлять вручную, можно где-нибудь забыть обновить view и наступит рассинхронизация моделей и отображения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.