這個模式之前就有寫過,只是當(dāng)時不知道這種模式的正規(guī)叫法.
當(dāng)時把該項目的一些需要ajax請求的方法提取到一個database.js里廉油。
// datanbase.js
export default class Database {
//一些提取出來的方法
}
因為是class類惠险,不能直接使用,得先實例化抒线,但是如果每次都實例班巩,對性能會有很大的影響。所以當(dāng)時做了一個判斷嘶炭。
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