【发布时间】:2015-11-30 06:56:31
【问题描述】:
我试图找到一种方法来降低处理三层信息时出错的可能性。让我试着解释一下。
我正在构建一个网络应用程序:
- Node.js
- mongodb
- react(使用服务器端渲染)
- 通量 (alt.js)
- 浏览
数据流可以是以下两种之一:
用户请求页面 -> 数据助手从 db 中获取正确的数据 -> 传递给 alt.js 引导程序以填充所有商店 -> 要求做出反应以构建应用程序 (renderToString) 和渲染查看 -> 重新调整到客户端
用户更新某些东西 -> 发送通量操作(使用 ajax 调用服务器) -> 数据助手准备要保存在数据库中的数据 -> 保存并将结果返回给客户端 -> 存储更新状态-> react 组件更新他的视图
需要了解数据结构的三个地方:
- 服务器中的数据助手,从数据结构中导出适当的数据并发送到 mongodb 或从 db 中获取数据并构建数据结构
- 在用户操作后更新状态的通量存储
- 从状态渲染视图的组件
这意味着如果我想更改数据结构(即使更改其中一个属性的名称),我将不得不在三个地方进行更改,这可能会非常冒险并且容易出错。
有没有办法在JS中实现数据耦合?
【问题讨论】:
-
在大多数项目中,数据是相当静态的,并且是设计中首先要解决的问题之一。如果您的数据结构将发生很大变化,您可以使用工厂动态显示数据。另一种选择可能是中继。
-
不会有太大变化,我只是想让开发者更容易维护和添加新功能。
-
通量存储不需要知道数据结构,因为它正在获取一条记录或一组记录。根据您希望如何显示数据,视图需要知道。中继可能是最接近您正在寻找的东西。中继的想法似乎是在组件级别定义结构。我还没试过所以不知道怎么玩。
-
通量应该知道数据结构,因为当数据改变时它需要更新状态。你能给我举个继电器的例子吗?
-
中继是另一种 Facebook 技术。见facebook.github.io/react/blog/2015/02/20/…。除非需要在字段级别进行更新,否则通量存储可能只需要查看记录级别的更改。因此,通量存储不需要知道这些字段。
标签: javascript node.js mongodb reactjs