【发布时间】:2014-04-11 09:36:00
【问题描述】:
所以我一直在编写一个主干应用程序,我的模块通常是这样的结构:
var AppName = AppName || {};
AppName.Module = {};
AppName.Module.View = Backbone.View.extend({...});
AppName.Module.Model = Backbone.Model.extend({...});
但我最近偶然发现了这种模块模式:
var AppName = AppName || {};
AppName.Module = (function() {
var View = Backbone.View.extend({...});
var Model = Backbone.Model.extend({...});
return {
View: View,
Model: Model
}
})();
在第二种模式中,您可以定义只能从模块范围访问的“私有”方法,但除此之外,在我看来,它通常是一种更难测试的模式。有人可以向我解释为什么一些 javascript 程序员喜欢第二种方法作为一种天生更好的模式吗?
【问题讨论】:
-
“为什么第二种方法本质上是更好的模式?” 看起来你已经下定决心了,你也提供了这个观点的理由。
-
我的意思是我已经看到有关此的博客文章将其描述为更好的模式,但我不明白为什么。为了清楚起见,我编辑了帖子
-
嗯,是的,因为能够使用“私有”局部变量。
标签: javascript design-patterns backbone.js