WEB开发网
开发学院软件开发C语言 适合C# Actor的消息执行方式(4):阶段性总结 阅读

适合C# Actor的消息执行方式(4):阶段性总结

 2010-09-30 20:50:18 来源:WEB开发网   
核心提示: 由于Actor执行的唯一“事件”便是接受到了一个消息,而一个Actor很可能会做多件事情,适合C# Actor的消息执行方式(4):阶段性总结(2),因此我们一定需要一种机制,可以把消息“分派”到不同的“逻辑段”中去,文章所

由于Actor执行的唯一“事件”便是接受到了一个消息,而一个Actor很可能会做多件事情,因此我们一定需要一种机制,可以把消息“分派”到不同的“逻辑段”中去,并为不同的逻辑指定各自所需要的参数。例如,Person是一个Actor类型,它有三种任务,不同的任务会带有不同参数:

聊天(Chat):指定另一个Person对象(聊天的另一方),以及一个Topic对象(聊天的话题)。

吃饭(Eat):指定一个Restaurant对象(餐馆)。

干活(Work):指定一个Person对象(工作完成后的汇报人),以及一个Job对象(任务)。

当Person对象获得一条消息时,它需要将其识别为聊天、吃饭或干活中的一种,再从中获取到这个行动所需要的数据。如果用一幅示意图来表示,它可能是这样的:

适合C# Actor的消息执行方式(4):阶段性总结

如何在C#中把一条消息转化为一段逻辑的执行,并且尽可能确保一些优势(如易于编写,静态检查,代码提示,重构,单元测试……),这便是这系列文章唯一的目的。正如文章的标题,我们关注的是“消息执行方式”,而不是:

“消息传递”与“共享内存”两种并行方式的比较

讲述Actor模型的应用程序设计方式。

提出消息传递时的解耦方式。

……

文章使用Actor模型作为示例,是因为我编写的ActorLite组件易于说明问题,并且是典型的“消息传递”场景。事实上,文章所表达的内容,适合任何基于消息传递的C#场景,例如内存中的消息队列、生产者/消费者模式、消息总线……它并没有限制Actor模型这一种架构方式。

上一页  1 2 3 4 5 6 7  下一页

Tags:适合 Actor 消息

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接