Дизайн справки - объект изменяет и сохраняет другой объект

StackOverflow https://stackoverflow.com/questions/3266960

  •  16-09-2020
  •  | 
  •  

Вопрос

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

Вот сценарий:

У меня есть класс сотрудника, который класс сотрудников имеет список офисных объектов (где работает сотрудник и работает). У меня есть требование создать способность передавать сотрудника между офисами. Существует несколько дополнительных накладных расходов для запроса на передачу (одобрения, отзывы), но в конце концов, одобрения моего объекта передачи должны привести к изменению списка офисных объектов работника.

Я использую C #, EF4 и POCO для моих объектов. Я не уверен, как моделировать объект передачи. Он будет сохраняться в течение некоторого времени и не может быть завершен в течение нескольких дней (одобрения должны завершить до того, как его разрешено продолжать). Объект передачи должен знать сотрудника для модификации и нового офиса для сотрудника. Я чувствую, что это плохой дизайн, чтобы сделать сотрудника ребенку объекта передачи и модифицировать его там. Мне просто интересно, есть ли у кого-нибудь советы о том, как моделировать это требование.

Это было полезно?

Решение

Вы можете лечить передачу как совершенно отдельный объект - работой ряд.

как минимум, он будет содержать следующие данные: 1. Уникальный идентификатор работника. 2. Уникальный идентификатор передачи от офиса. 3. Уникальный идентификатор передачи в офис. 4. Индикатор состояния для прогресса передачи.

Это легкий объект, который не содержит никаких других объектов - оно ссылается на них уникальным идентификатором.Когда передача обрабатывается, проверьте, что сотрудник и передача в офисы все еще действуют, затем обновить коллекцию офисов сотрудников.

Единственное предпосылка для этого решения заключается в том, что работник и офисы должны существовать до создания передачи.

Другие советы

Звучит как передача - это не объект, это рабочий процесс.Посмотрите на Фонд Windows Workflow ... Вот вот Хороший пример QuickStart.

Если вы думаете об ответственности объекта передачи, это управлять передачей работника в другой офис.Я бы разработал это с объектом передачи отделен как от сотрудника, так и от офиса, но имея ссылку на каждый.Объект передачи, вероятно, будет иметь ряд значений о состоянии утверждения и достижения ценностей конечного состояния (отмененное или окончательное одобрение) Объект передачи может выполнить действие сотрудника с новым офисом и отметить себя как завершено.Это не плохой дизайн для объекта передачи, чтобы иметь ссылки на другие объекты.Связь между передачей и работником (а также передачей и офисом) в этом случае «использует» отношения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top