Шаблон UML для композиции унаследованной структуры объекта

Следующая ситуация:

У меня есть: а) супер-офис имеет n или более основных офисов, не имеет ни одного или более малых офисов б) все являются офисами в) вся структура двойная (с сохранением структуры) для двух бизнес-направлений г) каждый офис может быть юридическим представительством д) каждый офис может находиться в другой стране

какой шаблон UML вы бы предложили

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

Офис с самооценкой (супер, главный, малый) Вопрос: как сохранить структуру для бизнес-направления?

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

Каково ваше мнение?


person oal100    schedule 25.08.2015    source источник


Ответы (2)


Может что-то в этом роде?

Диаграмма классов:

введите здесь описание изображения

person sergej    schedule 26.08.2015
comment
Я полагаю, что для сохранения структуры композиция и агрегация должны быть между унаследованными объектами. например, супер офис состоит из небольшого офиса. Имеет ли смысл иметь композицию / агрегацию в унаследованных объектах? - person oal100; 26.08.2015
comment
Да, это имеет смысл. Но агрегирование - это своего рода зависимость - и лучше зависеть от более абстрактных классов. - person sergej; 26.08.2015
comment
кстати, каким инструментом вы это нарисовали? Если нет других предложений, я приму это. это выглядит аккуратно - person oal100; 27.08.2015

Как часто я применял бритву Оккама. Мне кажется наиболее понятным 2-й с референцией. Чтобы представить бизнес-направление, вам нужно будет вставить свойство и применить бизнес-правило, описывающее линию.

Конечно YMMV. Другой взгляд может привести к другому результату. Значит: бритва режет по-другому. Вышеупомянутое было бы моим первым сокращением.

person qwerty_so    schedule 26.08.2015