1

У меня есть таблица Proffesor в базе данных. Я хотел бы создать UML-диаграмму для части кода.Какую связь я должен выбрать: объединение или агрегация?

Классовая структура будет: - класс проффесор, который отображает информацию из таблицы базы данных (идентификатор, имя и т.д.) - класс ProffesorDAL, который подключается к БД и запросов, которые он для того, чтобы добавить, удалить , обновить экземпляры Proffesor - 3 формы, которые добавляют/удаляют/обновляют proffesors, присоединяясь к классу ProffesorDAL

Я думал, что отношения формы-ProffesorDAL являются композиционными отношениями. Это верно? Как насчет отношений ProffesorDAL-Proffesor, может ли быть агрегация или это просто ассоциация? Каковы наилучшие отношения UML для отношений Form-Proffesor?

Спасибо!

ответ

1

Я бы начал с предположения об ассоциации и оттуда для анализа и проектирования, если между ними должно быть более сильное отношение.

Мой вопрос: «Он владеет им». Например, я бы сказал, что автомобиль владеет 4 колесами (среди длинного списка других предметов).

В моем стандартном дизайне у меня есть BLL между моим пользовательским интерфейсом и DAL. Я начинаю с предположения о свободной связи между моими тремя, позже я пришел к выводу, что BLL и DAL несколько тесно связаны и могут извлечь выгоду из сильного галстука.

Что касается класса профессора, я предполагаю, что это класс модели. Классы моделей У меня есть только свободное соединение/знание - значит они отображаются только как параметры (ассоциация). Мои DAL не имеют прочной связи с моими классами моделей (агрегацией). Это всего лишь приемы сообщений, сложные ints и bools.

1

Отношение Агрегирования UML почти бесполезно - оно создает гораздо больше путаницы, чем значение. Он имеет только одно полезное свойство, а именно: если он используется в рекурсивном отношении, результирующая структура объекта ациклична.

Это действительно не стоит повесить трубку. Мой совет будет состоять в использовании простой бинарной ассоциации и сосредоточиться на правильном использовании мощности. Это намного полезнее и ценнее.

hth.