Q1. В моих университетских исследованиях объектно-ориентированного моделирования и дизайна они рекомендуют подумать о том, что объект может сделать для своего метода и каковы его обязанности для своих атрибутов. Все попытки прояснения привели к дальнейшей путанице.
Это имеет тенденцию генерировать диаграмму классов с акторами, у которых есть все действия, и внутренними классами, которые содержат только данные.
Это не кажется правильным. Есть ли другой способ мышления о том, как моделировать объекты?
Q2. Кроме того, курс, кажется, подчеркивает моделирование объектов после их реальных аналогов, но это не обязательно имеет смысл в модели предметной области. IE. В медицинской практике у них есть Patient: CreateAppointment (), CancelAppointment ()
, но это не то, как это было бы реализовано (вместо этого вы бы изменили коллекцию встреч). Есть ли другой способ думать об этом?
Пример Q1
Секретарь: RecordAppointment (), RecordAppointmentCancellation ()
Назначение: время, дата, ... (без методов)
Пример Q2
Доктор: SeePatient ()
Хотя SeePatient
является вариантом использования, он не имеет смысла для метода в реальном классе. Как вы думаете об этом?