javascript设计模式(二)单体模式

这个模式之前就有写过,只是当时不知道这种模式的正规叫法.
当时把该项目的一些需要ajax请求的方法提取到一个database.js里。

// datanbase.js
export default class Database {
  //一些提取出来的方法
}

因为是class类,不能直接使用,得先实例化,但是如果每次都实例,对性能会有很大的影响。所以当时做了一个判断。

import database from './database';

let databaseFactory = (function () {

    let instance;

    function init() {
        return new database();
    }

    if (!instance) {//如果没有instance,就new一个
        instance = init();
    }

    return instance;//如果有了就直接return instance
})();

module.exports = databaseFactory;

后面使用的时候,都这样使用即可。

let dbManager = require('../utils/DatabaseFactory');
dbManager.xxxxx
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,827评论 2 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,025评论 25 708
  • 一. Java基础部分.................................................
    wy_sure阅读 3,833评论 0 11
  • 匆忙向前,是否会给自己一点时间,思考,放空?每天急着争着过下一秒,是否会想到活在当下?一直不记事的我,最近总是无意...
    夏莫一一阅读 295评论 0 0
  • Tomorrow comes never.They 're just simple mice.They could...
    兴龙织带10shine1360阅读 247评论 0 0