面向对象元计算中的服务调用与控制
1. jobSort与taskSort的差异
在sort.sh类比的taskSort版本中,我们创建了三个签名(第2 - 9行),并且分配了三种签名类型,因此可以将它们批量处理为单个任务(第12 - 15行)。而在jobSort版本中,所有签名都是默认的PROCESS类型,并且每个任务都有自己的上下文。在taskSort里,我们创建了一个通用的任务上下文(第18 - 26行),供所有签名操作共享。最后,在第31行执行排序任务sortTask。
这两个程序jobSort和taskSort的主要区别在于执行方式。jobSort的执行实际上由Jobber协调,而taskSort的执行由实现Sorter接口的服务提供者协调,该接口绑定到PROCESS签名sortSignature。如果实现Sorter接口的提供者还实现了另外两个接口Reader和Filter,那么taskSort的执行效率会更高,因为所有三个操作都可以由同一个提供者执行,无需像jobSort那样在Jobber和三个协作提供者之间进行网络通信。
2. 服务消息传递与调用
在面向对象的术语中,消息是将控制传递给对象的唯一方式。如果对象对消息做出响应,它就有针对该消息的操作及其实现(方法)。由于对象数据是封装的,不能直接访问,因此消息是将数据从一个对象发送到另一个对象的唯一途径。每个消息指定接收对象的名称(标识符)、要调用的操作名称(选择器)及其参数。
在不可靠的对象网络中,接收对象可能不存在或随时消失。因此,我们应该尽可能晚地确定接收对象。由于网络调用延迟和常见的处理错误,将与同一数据集的一个请求相关的消息分组是很有意义的。这些观察结果引出了面向服
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



