通过对象字面量的单例与模块模式的对比,代码组织的利弊
Singleton through object literal versus module pattern, code organization pros&cons
你更喜欢哪一个?一个优于另一个?就我个人而言,我发现singleton很难阅读和维护,很多上下文变化(this),总是以通过var self = this
缓存正确的上下文结束(或像$.proxy
这样的代理)+我总是有一个全局变量(singleton),而在第二种方法中,如果模块不需要暴露任何API,我可以避免创建全局变量。
简单的例子:
(用户点击"添加到购物车",一些ajax被触发,并在成功创建html(通知))