我在决定你为演员使用什么之间感到困惑。让我们说建立一个员工管理系统,其中有
1.多名员工。
每个人都应该每天上班。
3.标记他的出勤率和
4.然后将分配任务
我面临的问题是在我的案例中应该是一个演员
选项1 -
我制作一个EmployeesActor
(注意') - 它将接受包含EmployeePresentMessage
的{{1}}等消息(员工已标记出勤的信息),然后更新员工系统的状态。< / p>
选项2 -
我创建一个EmployeeActor类,它将自己生成10个实例(取决于组织中的员工总数)。所以现在像EmployeeId
这样的消息将传递给EmployeeActor类的特定实例/对象,这将更新其状态。
答案 0 :(得分:3)
Actor是一种特殊类型的对象,因此您可以通过与通常的面向对象建模类似的方式对actor进行建模。
Actor是一个具有某种状态的单线程消息处理程序。您可以根据所需的状态来设计演员。
选项2是自然默认值,其中每个参与者的状态将基于发送给特定员工的消息。
如果您需要在多个员工之间进行一些汇总,则选项1可能很有用。
您可以自由地在不同类型的演员中混合搭配两种方法,例如:每个员工都有一个Employee actor类型的实例,并且每个部门都有一个Timetable actor类型的实例。