奇怪的问题,但我不确定它是否是反模式。
假设我有一个 Web 应用程序,它会将 1000 条记录呈现到一个 html 表中。
我见过的典型方法是向数据库发送查询,以某种方式将记录转换为某种抽象状态(可以是数组或对象等),然后将转换后的记录放入集合中然后在 View 中对其进行迭代。
随着记录数量的增长,这种方法会占用越来越多的内存。
为什么不随查询一起发送一个回调,在从数据库中读取每个已翻译的行时对它们执行操作?这意味着您不需要为 View 中的进一步迭代收集数据,因此内存占用量会减少,并且您不会对数据进行两次迭代。
这种方法肯定有隐含的错误,因为我很少看到它在任何地方使用。这种方法有什么问题?
谢谢。
最佳答案
实际上,这正是一个开发良好的应用程序应有的行为方式。
这种方法没有任何问题,只是不是所有的数据库接口(interface)都允许您轻松地做到这一点。
如果我们谈论将另一个社交网络的 10
记录制成表格,如果您可以通过已实现的单个调用获得哈希数组或其他任何内容,则无需搞乱回调给你。
关于database - 使用回调应用程序将 "go deep"设置为不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/565616/