Web services 异步操作的命名约定
我有一个web服务,它通过异步方法在服务器上触发一些长操作。每个操作有3种方法:Web services 异步操作的命名约定,web-services,naming-conventions,Web Services,Naming Conventions,我有一个web服务,它通过异步方法在服务器上触发一些长操作。每个操作有3种方法: 其中一个启动操作并立即返回票号 其中一个从客户处连续呼叫;它接收票据编号并返回一个布尔值,表示操作是否完成 只有在操作完成后才调用最后一个;它接收票据编号并返回操作结果 我不知道如何调用这个方法。我考虑调用如下方法: 操作名称\u开始 操作名称\u已就绪 操作名称\u获取结果 但我担心我会重新发明轮子。这种使用模式有什么众所周知的命名约定吗?由于没有答案,我认为在这个问题上显然没有一个广泛使用的标准,所以我
- 其中一个启动操作并立即返回票号
- 其中一个从客户处连续呼叫;它接收票据编号并返回一个布尔值,表示操作是否完成
- 只有在操作完成后才调用最后一个;它接收票据编号并返回操作结果
- 操作名称\u开始
- 操作名称\u已就绪
- 操作名称\u获取结果
但我担心我会重新发明轮子。这种使用模式有什么众所周知的命名约定吗?由于没有答案,我认为在这个问题上显然没有一个广泛使用的标准,所以我可以自己使用 我选择坚持:
- 操作名称\u开始
- 操作名称\u已就绪
- 操作名称\u获取结果
- 如果我更改web服务调用的系统,会发生什么
- 是否有其他场景可以调用此服务
- 服务的粒度应该如何?这些决策对绩效有什么影响
- 电子支付\u SendPayment(注意:使用“发送”保留业务上下文,而不是技术上下文;发送可以通过电子邮件、post、Web服务。从您的“开始”示例中,您开始了什么;这里,服务的意图是显而易见的)
- 电子支付\u CheckStatus(注意:这是从消费者的角度来看的。检查处理状态很可能是一项通用服务,可以按照
CheckProcessingStatus(TicketNumber tN)
- 电子支付\u retrieverecept(注意:具有语义链接的请求/响应模式。维护了收付款的业务上下文)
- 很遗憾,你第一次没能得到答案。我强烈建议阅读本文,以便更好地理解web服务命名的原则和重要性
关键是要记住从消费者的角度命名,并最大限度地提高可消费性和可重复使用性。记住,当您调用服务时,您正在对对象执行操作,也就是说,您应该有一个动词和一个名词。还要记住,web服务与面向对象语言中的函数非常相似,因此考虑web服务函数的代码是什么样子是很有帮助的
考虑诸如这样的场景是有帮助的。
命名是高度上下文化的,上述内容并不完美,但希望它能帮助你自己和其他偶然发现这一点的人。那么你用@Doug做了什么?