Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 客户端类库与web服务/web服务与服务器类库之间的通信_Web Services_Design Patterns - Fatal编程技术网

Web services 客户端类库与web服务/web服务与服务器类库之间的通信

Web services 客户端类库与web服务/web服务与服务器类库之间的通信,web-services,design-patterns,Web Services,Design Patterns,想知道其他人做了什么/层间通信的最佳实践。该问题与第2-3层和第3-4层之间的通信有关 我们的基本架构顺序如下: 用户界面 前端商务课程 网络服务 后端业务类 达尔 web服务只是一个外表,包括对后端类库的日志记录和身份验证 因此,web服务被传递一个请求对象,该对象包括web方法所需的参数以及用户凭据。例如,用户凭据存储在基类中,因为我们将始终需要将其传递给web服务,并使用响应对象进行响应。响应对象具有诸如状态和消息之类的内容,如果失败,etc以及请求和响应所需的对象将使用自定义泛型类/或接

想知道其他人做了什么/层间通信的最佳实践。该问题与第2-3层和第3-4层之间的通信有关

我们的基本架构顺序如下:

用户界面 前端商务课程 网络服务 后端业务类 达尔 web服务只是一个外表,包括对后端类库的日志记录和身份验证

因此,web服务被传递一个请求对象,该对象包括web方法所需的参数以及用户凭据。例如,用户凭据存储在基类中,因为我们将始终需要将其传递给web服务,并使用响应对象进行响应。响应对象具有诸如状态和消息之类的内容,如果失败,etc以及请求和响应所需的对象将使用自定义泛型类/或接口,其中只返回一个结果,否则需要创建一个类

有时,在第4层对响应对象执行此操作是有意义的,尽管我们不使用请求对象,除非许多参数需要是pasaws,在这种情况下,我们在第3层中有一个适配器类,它将此返回给客户端。为了保持一致性,我一直在考虑这样做,尽管我认为这样做可能有点过头了

因此,重复这个问题,层之间通信的最佳实践是什么?人们是否应该/是否应该使用上面概述的方法?它对我们很有效,第3-4层是否应该实现与第2-3层类似的方法

可能的考虑:

目前,所有代码都是由一个开发团队在内部编写的,一些客户端代码将来可能会外包 未来的web服务将基于WCF,不确定这是否会影响设计,而不是我更喜欢的接口编码。 我们使用.net
为了完整起见:


将响应/请求放在类库中似乎是一个好主意,这样,如果您想将web服务更改为WCF,那么要做的工作就更少了。

听起来您有一个适合自己的设计,它基于一个相当受人尊重和使用良好的设计模式请求响应。所以我不确定你的问题是什么。您是否在寻求改进设计的方法?您是否遇到了您认为可以通过重新考虑设计来帮助解决的特定问题?我没有大量参考其他系统的构建方式。因此,我要问的是,前端类库和web服务之间的请求响应是否应该考虑到web服务层和后端类库之间的通信——同时也要考虑到列出的要点。另外,在为每个web方法创建请求对象方面还有很多额外的工作。