演员模式(Akka.Net) - 演员应该是常量或动态

时间:2016-03-29 09:03:34

标签: akka actor akka.net

我在决定你为演员使用什么之间感到困惑。让我们说建立一个员工管理系统,其中有 1.多名员工。
每个人都应该每天上班。
3.标记他的出勤率和 4.然后将分配任务

我面临的问题是在我的案例中应该是一个演员

选项1 -
我制作一个EmployeesActor(注意') - 它将接受包含EmployeePresentMessage的{​​{1}}等消息(员工已标记出勤的信息),然后更新员工系统的状态。< / p>

选项2 -
我创建一个EmployeeActor类,它将自己生成10个实例(取决于组织中的员工总数)。所以现在像EmployeeId这样的消息将传递给EmployeeActor类的特定实例/对象,这将更新其状态。

1 个答案:

答案 0 :(得分:3)

Actor是一种特殊类型的对象,因此您可以通过与通常的面向对象建模类似的方式对actor进行建模。

Actor是一个具有某种状态的单线程消息处理程序。您可以根据所需的状态来设计演员。

选项2是自然默认值,其中每个参与者的状态将基于发送给特定员工的消息。

如果您需要在多个员工之间进行一些汇总,则选项1可能很有用。

您可以自由地在不同类型的演员中混合搭配两种方法,例如:每个员工都有一个Employee actor类型的实例,并且每个部门都有一个Timetable actor类型的实例。