Проблема модели заключается в следующем:
Иерархия уровней в пределах Army
, начиная с национальной армии в целом, через полевые армии, подразделения и, в конечном итоге, отдельных людей.Каждый уровень может включать ссылки на один или несколько других классов, таких как General
или Officer
или любой другой.Отряды внутри говорят, что полевая армия должна иметь возможность общаться друг с другом, особенно в целях моделирования морали, сплоченности и т. Д., А также с подразделениями любой вражеской полевой армии (например, направление подразделений в моей армии влияет на мораль противника).положительно).Кроме того, каждый блок должен общаться с теми, кто выше и ниже его в иерархии (для очевидных целей).
Я думал о том, чтобы ссылки в физической иерархии были представлены фактическими указателями (возможно, двусторонними) в каждом из классов этих сущностей (например, army*
в каждой единице и unit*
или их целая коллекция).в каждой армии), а затем используя шаблон проектирования наблюдателя для реализации любых коммуникаций в других случаях (например, в случае, о котором я упоминал выше).
Однако, будучи экспертом в шаблонах проектирования или программировании, яне знаю, есть ли другой, более эффективный способ сделать это.Любая помощь будет принята с благодарностью.