首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有JAVA/RDBMS堆栈的JSON客户端时的规范化与DeNormalization

使用带有JAVA/RDBMS堆栈的JSON客户端时的规范化与DeNormalization
EN

Stack Overflow用户
提问于 2013-09-22 04:38:32
回答 1查看 5.9K关注 0票数 6

我有一个有角度的JSON客户端与JAVA/MySQL堆栈接口。由于MySQL是一个关系型数据库管理系统,所以我的所有数据都是规范化的(当然,前三种形式)。

我的问题可以用下面的例子来说明。

我有一个示例对象和一个由服务器返回的用户对象。

代码语言:javascript
复制
Example - [{
userId:1,
...
...
..
},
{
userId:2,
...},
{
userId:3,
...}];

User - [
{
userId - 1,
firstName - "John",
lastName - "Doe",
..
},
{
userId - 2,
firstName - "Jane",
lastName - "Doe",
..
}, {...}...
]

当我使用角“示例中的example_entry”查看示例集合并显示示例集合元素时,我只有现成的userId。但是,如果我想显示firstName和lastName,就不能这样做,因为它位于不同的“用户”集合中。我必须编写一个辅助角控制器/服务方法,从用户集合中获取firstName、lastName,并将其与示例集合对象绑定。

为了避免这个问题,我可以取消Java Ojbects的规范化,并准备像这样使用JSON。

代码语言:javascript
复制
Example - [{
userId:1,
firstName - "John",
lastName - "Doe",
...
...
..
},
{
userId - 2,
firstName - "Jane",
lastName - "Doe",
...},
{
userId:3,
...}];

但是这是好/坏/可怕吗?因为现在我的Java对象具有firstName,LastName在示例对象和用户对象中重复。哪条路线更好,有什么建议吗?

代码语言:javascript
复制
De-Normalize and have ready to use JSON
Keep Data Normalized to avoid duplication and write converter methods on the Client as needed
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-22 08:13:25

这是我对这个的看法。当涉及到显示\列表数据时,我并不担心域模型\类。对我来说,返回的数据应该尽可能匹配UI显示要求。这里的目的是向用户显示数据,而对此类屏幕的决策却不多。

但是,如果数据需要更改\更新,则需要更加小心发送的内容,哪些实体参与更新。保持数据的一致性成为优先事项,在这种情况下,去规范化可能不合适。

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

https://stackoverflow.com/questions/18940377

复制
相关文章

相似问题

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