Ссылки на нестабильные объекты
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 23.08.04 10:55
Оценка:
Как лучше организовать сабж, кто-нибудь сталкивался? Ситуация довольно типична для MVC. Вид отображает один из объектов модели, а какой-нибудь контроллер убивает этот объект. Далее, модель, вид и контроллер могут находиться на различных машинах (или с видом может находиться локальная копия модели, но тогда нужно как-то соотносить объекты в копии с объектами в оригинале). В каком же виде лучше хранить в виде(view) ссылку на отображаемый объект?
Мне приходит в голову хранение числового ID, а для поиска по нему объекта — поиск в дереве. Можно еще посадить деревья в хеш-таблицу. Т.е. при каждом рендеринге 1) ищем объект по запомненному ID, получаем указатель на стабильный вариант объекта, 2) юзаем этот вариант, 3) выкидываем его.
Есть другие идеи?

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re: Ссылки на нестабильные объекты
От: Sergey Россия  
Дата: 23.08.04 11:01
Оценка:
Hello, Slicer!
You wrote on Mon, 23 Aug 2004 10:55:02 GMT:

SM> Как лучше организовать сабж, кто-нибудь сталкивался? Ситуация довольно

SM> типична для MVC. Вид отображает один из объектов модели, а какой-нибудь
SM> контроллер убивает этот объект. Далее, модель, вид и контроллер могут

SM> юзаем этот вариант, 3) выкидываем его. Есть другие идеи?


Например, рефкаунт или оповещение видов перед удалением объектов, в
зависимости от того, какое поведение требуется.

With best regards, Sergey.
Posted via RSDN NNTP Server 1.9 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: Ссылки на нестабильные объекты
От: AndreyFedotov Россия  
Дата: 23.08.04 13:01
Оценка:
Здравствуйте, Slicer [Mirkwood], Вы писали:

SM>Как лучше организовать сабж, кто-нибудь сталкивался? Ситуация довольно типична для MVC. Вид отображает один из объектов модели, а какой-нибудь контроллер убивает этот объект. Далее, модель, вид и контроллер могут находиться на различных машинах (или с видом может находиться локальная копия модели, но тогда нужно как-то соотносить объекты в копии с объектами в оригинале). В каком же виде лучше хранить в виде(view) ссылку на отображаемый объект?

SM>Мне приходит в голову хранение числового ID, а для поиска по нему объекта — поиск в дереве. Можно еще посадить деревья в хеш-таблицу. Т.е. при каждом рендеринге 1) ищем объект по запомненному ID, получаем указатель на стабильный вариант объекта, 2) юзаем этот вариант, 3) выкидываем его.
SM>Есть другие идеи?

SM>Slicer


1) Предложенная Sergey простая, но эффективная схема — модель оповешает представление о своём удалении.
2) Контроллер отслеживает — какое представление соответсвует какой модели и контролирует — оповещение представлений перед удалением модели.
3) Промежуточный координатор — который отслеживает взаимосвязи между моделями и представлениями, при удалении модели — оповещяется контроллером или моделью — и гарантирует удаление представлений в правильной последовательности.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.