Akka 中的有类型 Actor 是 Active Objects 模式的一种实现,将异步的调用执行逻辑封装在一个方法内,在代码层面保证了的顺序执行思维。
Active Objects 设计模式
来自维基百科 Active Objects 。
该设计模式包含了六种元素:
- 代理:提供了面向客户端的带有公开方法的接口。
- 接口:定义了到 active object 的请求方法(业务代码提供)。
- 来自客户端的一序列等待请求。
- 调度器:决定接下来执行哪个请求。
- active object 方法的实现类(业务代码提供)。
- 一个回调或变量,用以让客户端接收结果。
上述六个元素中,除了标记(业务代码提供)的,其余都是由该模式的实现提供的,在本篇也就是 Akka。
Akka 是通过 JDK 的 java.lang.reflect.Proxy 来自实现 active object 模式的。