前言
最近遇到一本好书,《javascript设计模式与开发实践》,品读了一下,觉得有些内容非常值得整理与学习,特此笔记。
单例模式
单例模式是一种简单但非常实用的模式,特别是惰性单例模式,在合适的时候才创建对象,并且只创建唯一的一个。
简单的单例模式
要实现一个简单的单例模式很简单,通过一个变量来标志即可。
惰性单例
惰性单例是指在需要的时候才创建对象实例,这种技术在开发中非常有用。比如一个登陆框,如果一开始就作为DOM加载到页面中,用户可能不会用到,就浪费了DOM结构。
所以我们应该在触发某些事件后再创建DIV,且保证该div唯一单例:
提高通用性
上面的惰性单例通过闭包写法已经非常简单,但是不够通用。我们可以将管理单例的逻辑从原来的代码中抽离出来,封装在getSingle中,然后将创建对象的方法fn当成参数动态传入getSingle函数:
这样我们就可以将业务逻辑写在各自的函数中,再传入getSingle即可:
一个较为完美的单例就实现啦。
由于上传附件及文字限制,有时部分图片、文字可能显示不了,详情请见:http://mp.weixin.qq.com/s?__biz=MzI5ODI3NzY2MA==&mid=100000117&idx=2&sn=756662765e19cb9609c4637be2b42a74#rd 欢迎大家一起交流。 扫描以下二维码,获取更多更精美文章!(扫码关注有意向不到的惊喜的哦!!) 关注我们微信订阅号( uniguytech100) 与服务号(uniguytech),获取更多更精美文章! 也欢迎加入【大家技术网讨论QQ群】,群号码:256175955,请备注你个人的介绍!让我们一起聊聊it的那些事! |