Re[3]: проектирование иерархии с помощью паттерна мост
От: bolshik Россия http://denis-zhdanov.blogspot.com/
Дата: 16.11.06 14:07
Оценка:
Здравствуйте, AlScan, Вы писали:

AS>Здравствуйте, bolshik, Вы писали:


AS>Спасибо за хороший совет . Он пригодится в дальнейшем, когда пользователь будет как-то хулиганить в комнате . Пока же ситуация проще: внутри комнаты он может только смотреть на все кругом и больше ничего.


AS> Я писал 'пользователь может выбрать что угодно' в смысле выбрать любой вид комнаты (тронный зал, галерею и пр.) и любую реализацию (например эльфийскую в форме шара или людскую с четырьмя стенами ). Сами классы реализаций выполняют только одну задачу: рисуют комнату соответствующего вида (например с шестью стенами) а вот атрибуты (колонны, троны и пр.) они не рисуют. Не рисуют т.к. в этом случае можно легко комбинировать виды комнат с разными реализациями. А атрибуты это уже другое не хочу привязывать к виду комнаты т.к. у тронного зала эльфов может быть их пять, людей – вообще нет.


AS> Вопрос в том что кому-то надо доверить отрисовку и атрибутов но я не могу решить кому.


Так пусть и колонны, троны и т.д. будут уравнены в правах с 'комнатами'. Т.е. и 'комнаты', и 'колонны' представлены в виде интерфейса, который умеет отрисовывать себя, только конкретная имплементация этого интерфейса('комната') умеет агрегировать в себя другие имплементации этого же интерфейса. См. Gof Composite и отчасти POSA Whole-Part
http://denis-zhdanov.blogspot.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.