При разработке как доменной модели, так и диаграмм классов у меня возникли проблемы с пониманием того, что им вводить.Должен ли я ставить актеров в Domain-Model/Class-Diagram?
Я дам пример того, что я имею в виду:
Я делаю программу путешествия планировщик, который имеет Administrator
и End-Users
. Administrator
делает несколько вещей, как регистрация End-Users
в программе, изменяя их previleges и т.д. End-User
может выбрать его отпуска дни и т.д.
я первоначально определил Administrator
и End-User
как концепции в области-модели, и позже как классы в диаграмме классов. В классе-диаграмме, оба класса закончили тем, что несколько методов, как
Administrator.RegisterNewUser();
Administrator.UnregisterUser(int id);
т.д.
Только через некоторое время я понял, что на самом деле как Administrator
и End-User
актеры, и, возможно, я получил это дизайн совершенно неправильный. Вместо того, чтобы заполнять классы «Администратор» и «Конечный пользователь» с помощью методов для выполнения моего запроса «Использовать-Случаи», я мог бы определить другие классы из домена для их выполнения, а контроллеры обрабатывают Служебные случаи (на самом деле я решил сделать один для каждого Используйте-Case). Например, я мог бы использовать UserDatabase.RegisterNewUser()
и UserDatabase.UnregisterUser(int id);
вместо этих методов в классе Administrator
.
Идея состоит в том, чтобы попытаться представить весь планировщик каникул как «закрытую программу», которая имеет набор функций и не беспокоит такие вещи, как аутентификация, которая должна быть внутренней/защищенной, будучи что единственные публичные вещи, которые я позволил бы видеть внешним миром, будут его контроллерами.
Это правильный подход? Или я совершенно ошибаюсь? Это вообще плохая идея, чтобы поставить Актеры в диаграммы домена-модели/класса? Каковы хорошие эмпирические правила?
Мой лектор следит за Applying UML and Patterns, что я считаю ужасным, поэтому я хотел бы узнать, где я мог бы найти дополнительную информацию об этой описанной ситуации с актерскими моделями.
Я все еще немного смущен обо всем этом, так как этот новый подход радикально отличается от всего, что я делал раньше.