Флаг IsChanged - является ли он частью модели?
От: Аноним  
Дата: 13.02.11 21:25
Оценка:
Есть некая сущьность с полями. Вся работа программы сводится к обработке/изменению данных коллекции этих сущьностей.
Будет существовать несколько контроллеров (независимых друг от друга), обрабатывающих эту коллекцию. НО контроллерам необходимо узнавать об изменении данных, когда один контроллер изменяет их, другой возможно реагирут на изменения.

Пока накидал так: доступ к коллекции осуществляется через определенных сервис. Этот сервис кидает сообщения, когда элементы коллецкии меняются (добавление/удаление элементов, а также изменение их полей). Контроллеры обрабатывают события, и возможно изменяют представление.

Вопрос, как вам такой сценарий с центральным сервисом?

И еще, мне необходимо знать была ли изменена модель? поэтому я добавил в модель поле bool IsChanged. Но что-то смущает, не уверен, что этот флаг должен быть частью модели. Как мне хранить состояние "изменен", что бы оно было расшарено между различными контроллерами.
Re: Флаг IsChanged - является ли он частью модели?
От: bl-blx Россия http://yegodm.blogspot.com
Дата: 14.02.11 09:57
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть некая сущьность с полями. Вся работа программы сводится к обработке/изменению данных коллекции этих сущьностей.

А>Будет существовать несколько контроллеров (независимых друг от друга), обрабатывающих эту коллекцию. НО контроллерам необходимо узнавать об изменении данных, когда один контроллер изменяет их, другой возможно реагирут на изменения.

Многопоточность присутствует?

А>Пока накидал так: доступ к коллекции осуществляется через определенных сервис. Этот сервис кидает сообщения, когда элементы коллецкии меняются (добавление/удаление элементов, а также изменение их полей). Контроллеры обрабатывают события, и возможно изменяют представление.


Я правильно понимаю, что несколько контроллеров может одновременно на событие реагировать?
Каким образом контроллер, изменяющий представление, будет реагировать на собственные изменения?
Если несколько контроллеров обрабатывают событие и первый в цепочке осуществляет изменения, что увидят остальные?

А>И еще, мне необходимо знать была ли изменена модель? поэтому я добавил в модель поле bool IsChanged. Но что-то смущает, не уверен, что этот флаг должен быть частью модели. Как мне хранить состояние "изменен", что бы оно было расшарено между различными контроллерами.


Здесь возникают следующие вопросы:
1.Кто и когда устанавливает IsChanged=true?
2.Кто и когда сбрасывает IsChanged в false?
3.Кто и каким образом пользуется значением IsChanged?
El pueblo unido jamás será vencido.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.