首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >征求意见:模型概述/详细表示

征求意见:模型概述/详细表示
EN

Stack Overflow用户
提问于 2014-07-05 23:50:34
回答 1查看 46关注 0票数 1

我有一个困扰我很长时间的问题,我也想出了一个解决方案,这里的问题是如何最好地实现它,所以如果你以前处理过这种情况,我会征求你的意见(很难在网上找到任何有用的东西)。

情况

3层体系结构(富客户端,如Swing或Eclipse或Android应用程序,具有服务层、关系数据库的实现)。我的模型是POJO(普通的旧Java对象、带有getter和setter的纯数据容器),它们是持久化的(所有模型上的技术ID )。

我经常处理大型模型,这些模型被综合使用,但需要高效地读取和传输。假设我有以下模型:

  • ,具有登录名、密码散列、salt、首/姓、电子邮件地址、授权凭据、配置文件图片(图像)
  • 图像,具有名称、内容类型和(通常是大的)数据
  • 文章(带文本)和作者(用户)

问题

现在,当我列出或加载一篇文章时,我不想加载整个作者(用户),因为它公开了太多的细节(密码哈希和盐分),并且携带了太多的数据(凭据、图像)来满足我在文章上下文中的实际需要(姓名和电子邮件)。

一般来说,有时我需要我的模型的全部细节(在创建/编辑它们时,或者在非常具体的情况下),但是当我在其他模型中聚合使用它们时,我更希望有一个简化的表单(如果我需要详细信息,我可以用单独的请求加载它们)。

解决方案

对于每个模型的,我可以创建的两个变体:一个带有完整CRUD (创建、读取、更新、删除)的完全详细的变量和一个简化的,只读变体,它可以用作聚合关系中的替代项E 235。简化模型版本还包含详细版本的技术ID,因此我可以根据需要获取它。

  • 对于用户:简化的模型只有名字和电子邮件。
  • 对于图像:简化的模型没有图像数据。
  • 文章的作者是用户的简化版本,用户的配置文件图片是图像的简化版本。

问题

  • --这是一种现有的模式吗?--它在某种程度上与DTO (数据传输对象)有关,但它并不相同。有人见过这个吗?
  • 你以前用过像这样的东西吗?关于这两种表示之间的命名,OO-关系有什么建议或建议吗?
EN

回答 1

Stack Overflow用户

发布于 2014-07-06 08:40:15

我不能将您的解决方案选项与我所知道的模式联系起来。但是您的需求可以通过稍后在您的服务之上引入一个非常薄的API (Web )来满足。

它有两部分,

总之,这给您提供了一个非常灵活的API,在您的API下有一个非常干净的域模型。这是最近被广泛接受的一种方法。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24591502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档