Это должно быть просто.OOD: выявление проблемных объектов
Предположим, что я разрабатываю очень простое приложение для тайм-слова. Пользователь вводит свой идентификатор, и приложение показывает ему часы на неделю, часы на день, а затем позволяет ему ударить нас. Он достаточно умен, чтобы узнать, в настоящее время занят работник. Нет перерывов или обедов или смены или что-то еще.
У меня есть Сотрудник. У меня есть Timecard с несколькими EventRecords. У меня есть Timeclock, который, конечно, поддерживает время, но также является своего рода интерфейсом для всей модели (возможно).
Должен ли сотрудник иметь учетную запись Timecard, или если Timecard ссылается на сотрудника?
Должен ли Timecard отвечать за расчет часов в течение дня и т. Д.?
Должен ли Timeclock быть ответственным за создание экземпляров сотрудников и Timecards и их связь?
Должен ли Timeclock делать punchIn и punchOut или Employee?
+1 :: Думаю, проще в этом случае проще. – garrow
Не удивительно, как часто это так? ;) – Guffa
Я счастлив, что вы ответили этим, потому что это было первое решение, к которому я пришел. Тем не менее, поскольку это определение проблемы расширяется, у меня возникнет соблазн сохранить демпинг кода в Employee ... и это вроде просто становится процедурным, нет? – Boden