服务不是面向对象的。 假设我有一个基于OOAD的设计。 我们可以使用翻译层将其转换为DTO(没有任何行为)。 但这可能会导致代码量的大幅增加。 在WCF中有什么替代方案(通过C#)?

请评论在SOA和OOAD之间进行这样的转换是否是个好主意。 当我们拥有SOA或使用这种映射技术时,我们应该完全避免使用OOAD吗?

创建“特定于操作的DTO”而不是在删除行为后直接从域创建“DTO”是一个好主意吗? 是否有“特定操作DTO方法”的工具?

AutoMapper是否会生成“特定于操作的DTO”或“没有行为的域中的DTO”?

注意:操作特定的DTO方法可以参考“不要在设计中使用抽象基类; 但在建模/分析中“

服务层指南中提取

设计在业务实体和数据协定之间转换的转换对象。

参考文献

  1. 如何根据用户角色限制Web服务数据协定属性
  2. SOA问题:公开实体
  3. 在SOA应用程序中使用DTO的最佳方法是什么?
  4. WCF消息和数据合同,DTO,域模型和共享程序集

===============>>#1 票数:4

与软件开发中的所有其他内容(尤其是架构)一样,对这些问题没有一个正确的答案。 这取决于架构目标和约束。

WCF与DTO一起使用。 虽然可以下拉到更原始的层并直接处理消息,但对于所有实际问题,DTO是使用WCF的基本部分。 由于在这种情况下WCF似乎是架构约束之一,因此实际上没有实际的方法来避免DTO。

那么问题就变成了:是否应该有一个映射层?

如果我们可以回答另一个问题,这个问题很容易回答:从什么映射?

如果您已有现有系统,则需要在现有系统和WCF边界之间进行转换。 在这种情况下,需要翻译层。

如果您正在构建一个全新的系统,也许更容易不翻译。

===============>>#2 票数:1

查看Automapper ,我们正在使用它来完成同样的任务。

  ask by Lijo translate from so

未解决问题?本站智能推荐:

3回复

合同优先型SOA:设计业务领域:WCF

我正在使用WCF构建一个全新的系统。 我将对基于服务导向概念构建的服务使用合同优先方法。 我有一项服务操作,可返回用户的银行帐户详细信息。 该帐户可以是“ FixedAccount”或“ SavingsAccount”类型。 我已将服务设计如下。 这很好。 现在,我需要为该
2回复

合同第一SOA和WCF合同

我有一个简单的问题。 我正在使用WCF创建Web服务。 我创建的所有服务都没有填充操作体。 现在,我有了根据服务合同自动生成的wsdl文件。 如果稍后要对操作实现进行编码,则此方法是否为“合同第一”?
3回复

SOA中补偿缺乏继承的模式

我发现继承和基类的概念是OOP的最强点。 但是在SOA中并不鼓励这样做。 那么,在SOA中克服这种限制的流行模式是什么? 能否请您提供解释这些模式的教程(在WCF中进行代码演示)? 注意:这不是关于SOA中可用模式的一般问题。 但它更具体到上述问题。 注意:我正在使用WCF进
4回复

SOA(面向商业智能和服务的体系结构)中的报告

我的SOA具有员工服务和旅行服务。 旅行服务将在[旅行]数据库中为employeeId创建一个travelID条目。 员工将使用“ TravelUI”网站(该网站将调用Travel Service在DB中存储详细信息)来请求旅行。 有一个“ ManagerUI”网站,经理将使用它来批准旅行
1回复

WCF中的信息重用

在阅读SOA文章时,我在http://www.ibm.com/developerworks/websphere/library/techarticles/0806_boughannam/0806_boughannam.html中遇到了一篇文章。 这说明了语义/逻辑服务。 有一个示例“从销售部
1回复

如何设计WCF合同?

我们正在设计一个WCF层,它可以由Asp.Net或WinForm应用程序调用。 我们的应用程序包含太多实体。 我们基本上有两个选择。 如果我们围绕这些实体设计WCF合同,那么我们将获得太多合同,例如IPartyService,IUserService,IPaymentService
4回复

如何将WCF推广给非技术人员?

您如何描述和推广WCF作为非技术客户/经理/ CEO /等的技术? 他们可能提出的竞争解决方案或想法是什么(例如他们在杂志上宣传的新技术)? 什么是WCF对你看到人们试图将其变成了什么并不好? -亚当
4回复

从客户端向WCF服务发送查询

我想对你采取以下措施。 我们将SOA视为解决我们所遇到的一些概念性问题的方法。 我们不想多次构建相同的逻辑。 因此,想要制作一些WCF服务,让不同的客户通过这些服务(甚至是Apple应用程序)检索数据。 理想的情况是,客人尽可能地瘦,只关心表达。 应该在WCF服务中处理所有业务逻辑
2回复

用吸气剂方法services肿的服务解决方案?

我们正在将核心Web应用程序重构为3层SOA体系结构: 演示文稿(asp mvc) 服务层(wcf,net.tcp) 持续性(sql)。 大约有5个内部网站,每个网站都有自己的服务层。 服务和UI通过DTO在彼此之间共享信息。 问题是,大多数服务方法是专门针
1回复

WCF中每个终结点的单独日志

我想问光荣的Stackoverflow协会,是否有任何方法可以配置WCF服务器为单独的端点编写单独的日志? 使用EntLib或普通WCF。 我认为可以通过编写自定义跟踪侦听器来实现,但是可能存在其他方式。 谢谢!