Re[13]: Model-View-Controller в .Net
От: adontz Грузия http://adontz.wordpress.com/
Дата: 07.11.06 16:09
Оценка: 3 (1) +1
Здравствуйте, GlebZ, Вы писали:

GZ>Контракты достаточно сложного решения расписаны.


Расписно конечно классно, но ни в OpenGL, ни в DirectX, ни даже в GDI это рисование не очень-то укладывается. Композитность конечно штука неплохая, и CompositeView объединяющий несколько View в данной задаче может быть пригодился бы, но в тоже время должен быть глобальный View — владелец IDirect3DDevice, hRenderingContext, PAINTSTRUCT или чего там надо. Вобщем некоторый контекст рисования в котором надо всё раз отрисовать. На карте я не могу отдельно перерисовать города, я вынужден перерисовать всё сразу. И кстати дорисовывать в несколько циклов рисования я тоже не могу. А у списка городов не так. И эти особенности IViewMap, IViewTowns, IViewSomethingElse о которых приходится знать презентеру, потому что теперь уже ему надо хранить этот контекст и передавать его разным IView. Либо создавать ещё какого-то отдельного RenderingContextManager. Я бы не назвал это самым удачным употреблением Flyweight.
Гораздо лучше, когда IViewTowns подписывается на Towns.Changed, а IViewMap и на Towns.Changes и на Tracks.Changed и они сами решают на что подписыватся, что считывть, как и когда перерисовывать и т.д. Меньше сущностей, проще контроль.
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.