原因是否像普通的多模块应用程序编程那样 - 所以客户端可以只使用接口而不必担心实现细节?
请注意,我说的是 WSDI/UDDI/SOAP,而不是普通的应用程序接口。
原因是否像普通的多模块应用程序编程那样 - 所以客户端可以只使用接口而不必担心实现细节?
请注意,我说的是 WSDI/UDDI/SOAP,而不是普通的应用程序接口。
WSDL 具有抽象部分和具体部分,它们是分开的,以允许重用这些定义。同一个合约可以绑定到许多具体的网络协议和消息格式。
这种定义的重用,在UDDI的上下文中 意味着一个接口,多个实现。
UDDI 的一个想法是可以在运行时发现所需的 Web 服务。您可以进入注册表并查找某个 WSDL 契约的实现:
超越食谱:接口和实现
[...]
如果三个不同的公司实现了相同的 WSDL 文件,并且一个客户端软件为该 WSDL 接口创建了代理/存根代码,那么客户端软件可以使用相同的代码库与所有这三个实现进行通信
[...]
至少那是理论。在实践中它变成了另一种方式。
简短的回答是没有。当您通过 WSDL 发布 Web 服务时,您如何实现它并不重要。使用您的服务的客户端应用程序将从 WSDL 生成适当的代码,无论您是否为后端 Web 服务定义了接口。也就是说,在 Web 服务前面添加一个接口是相当浪费时间的。
尖头发的老板决定他希望应用程序以不同的方式工作,在不同的屏幕顺序中,因为:
他在网球俱乐部的妻子朋友认为这样会更好。
严格的用户测试表明基于不同的应用程序流程或使用步骤顺序的客户转化率更高。
您想提供您网站的白标版本(类似于特许经营权)。
在上述情况下,只需要重写图形元素,这样做的人不需要了解任何关于数据库或复杂的后端数据处理的知识。
分离接口和实现可帮助您保持设计松散耦合。随着需求的变化,您可以独立于接口更改实现。