在设计域模型和类图时,我在理解要放入其中的内容时遇到了一些麻烦。
我将举例说明我的意思:
我正在做一个假期调度程序,它有一个Administrator
和End-Users
。他们Administrator
做了一些事情,比如End-Users
在程序中注册、更改他们的特权等。他们End-User
可以选择他的假期等。
我最初在领域模型中将Administrator
and定义End-User
为概念,后来在类图中定义为类。在类图中,两个类最终都有几个方法,比如
Administrator.RegisterNewUser();
Administrator.UnregisterUser(int id);
等等
过了一段时间,我才意识到实际上两者Administrator
都是End-User
演员,也许我完全错误地设计了这个设计。我可以从域中定义其他类来执行它们,并让控制器处理用例,而不是用方法填充管理员和最终用户类来执行我的用例请求(实际上,我决定为每个用例)。例如,我可以有一个UserDatabase.RegisterNewUser()
and UserDatabase.UnregisterUser(int id);
,而不是在Administrator
类上使用这些方法。
这个想法是尝试将整个假期调度程序视为一个“封闭程序”,它具有一组功能并且不打扰诸如身份验证之类的事情,应该是内部/受保护的,是唯一的公共我让外界看到的东西就是它的控制器。
这是正确的方法吗?还是我完全错了?将 Actors 放在域模型/类图中通常是个坏主意吗?对此有什么好的经验法则?
我的讲师正在关注Applying UML and Patterns,我觉得这很糟糕,所以我想知道在哪里可以查找有关所描述的演员模型情况的更多信息。
我对这一切仍然有些困惑,因为这种新方法与我以前做过的任何事情都完全不同。