gpt4 book ai didi

web-services - 域对象构造责任 : Should I use domain objects in service layer interface?

转载 作者:行者123 更新时间:2023-12-03 11:10:58 25 4
gpt4 key购买 nike

在设计服务层时,我应该在接口(interface)契约中使用我的域对象吗?例如:

public void registerUser(String username, String realName)

对比

public void registerUser(User user)

域对象应该在客户端代码中构建还是在服务外观之后构建?

我正在使用 EJB,我的客户端将是本地部署的 Web 应用程序、RMI 客户端,也可能是 Web 服务客户端。

最佳答案

从技术上讲,使用一个或另一个没有问题:通过 XSD 的 Web 服务能够支持原始类型(如字符串)和复杂对象(如用户类)。

现在,如果您的 User 类有 20 个属性,而您只需要 usernamerealName 来注册用户怎么办?在这种特殊情况下,最好使用您的第一种方法,因为如果您不强制您的客户构建不需要的大型 XML 文档,则需要的带宽更少。

其他情况是您的用户类根据 JAXB 规则生成复杂且高度嵌套的 XML 文档。这可能会为您的客户产生复杂的消息,也会产生复杂的客户实现。如果是这种情况,您可以使用域类的更简单版本(可能具有一个或两个嵌套级别)作为 DTO 来简化消息交换。

关于web-services - 域对象构造责任 : Should I use domain objects in service layer interface?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10678410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com