1.3 创建服务
相关的一类服务集合由一个专门的Service
接口管理,并通过对应的实现类实现具体的创建过程(如封装发送请求需要附带的参数)。LiteSDK通过ServiceManager
类负责管理创建所有的Service
对象,以下是一个创建获取节点信息的服务的例子:
// 将ProviderManager对象作为参数,通过getNodeService()创建NodeService类型的对象
// NodeService为声明的接口, 实际类型为NodeServiceImpl
NodeService nodeService = ServiceManager.getNodeService(providerManager);
// 通过调用NodeService提供的方法创建相应的服务,类型为Request<NodeResponse>
NodeRequest nodeRequest = nodeService.getNodes();
实际上每个服务创建对应创建一个请求,这个请求都继承了共同的父类——Request
,LiteSDK将根据不同的Service
接口,返回不同Request
子类,同时将用户调用接口的参数params
封装到Request
请求中,而在创建Request
的过程中会附带一个具体的响应类型的声明,该响应类型也将根据不同的Service
接口与Request
绑定。
Request
拥有send()
和sendAsync()
同步发送和异步发送两个方法:
send()
: 同步发送返回Request
根据不同接口绑定的Response
sendAsync()
: 异步发送返回Request
根据不同接口绑定了Response
的Future
接口
当前内容版权归 Hyperchain 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Hyperchain .