我最近一直在和Sequelize.js合作,经常遇到"DAO"这个词.来自使用ActiveRecord(在Rails中),ORM的想法似乎非常简单.
有人可以向我解释(最好是使用Javascript和Sequelize的一些上下文)DAO是什么?它与ORM有何不同?它如何导致更多模块化代码/防止抽象泄漏?
编辑:阅读以下内容后:https://www.reddit.com/r/learnprogramming/comments/32a1fr/what_is_the_general_difference_between_dao_and_orm/
感觉/似乎DAO可以被认为是一个单一的"模型" - 就像在ActiveRecord的上下文中一样,我的用户实例将被视为DAO,因为它:" 从应用程序中抽象出持久数据存储的实现并允许与它进行简单的交互 "?
我正在使用 Redux 和函数构建一个 React 应用程序mapDispatchToProps- 我正在使用下面的模式。
const mapDispatchToProps = (dispatch) => {
debugger
Object.keys(actions).forEach(key => {
var functionObj = actions[key];
actions[key] = () => {
debugger
var zz = Array.prototype.slice.call(arguments);
dispatch(functionObj.apply(null,zz));
}
});
return actions;
}
Run Code Online (Sandbox Code Playgroud)
让我抓狂的是,参数对象正是我所期望的(带有参数 bla bla 的类似数组的对象),除非我以任何方式“使用”它。我所说的“使用”是指:
将其分配给某些东西(如上var zz)或将其传递给函数。当我“使用”参数对象时 - 它神奇地变成了我当前所在的当前 Webpack 模块。
有人对这个有了解吗?我疯了吗??