Skip to content

Instantly share code, notes, and snippets.

@YoneMoreno
Created November 6, 2017 10:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save YoneMoreno/c66f764c723422664e87514dc55d647c to your computer and use it in GitHub Desktop.
Save YoneMoreno/c66f764c723422664e87514dc55d647c to your computer and use it in GitHub Desktop.
var taskHandler = require('./taskHandler');
var myrepo = require('./Repo');
myrepo.save('fromMain');
myrepo.save('fromMain');
myrepo.save('fromMain');
taskHandler.save();
taskHandler.save();
taskHandler.save();
taskHandler.save();
var repo = function(){
var called = 0;
var save = function (task){
called++;
console.log('Saving ' + task +
' Called ' + called + ' times');
}
console.log('newing up task repo');
return {
save: save
}
}
//Using repo() or new repo makes Node use the cache behavior to create a new repository only if it doesn't exist
module.exports = repo();
var TaskRepo = (function () {
var taskRepo;
function createRepo() {
var taskRepo = new Object("Task");
return taskRepo;
}
return {
getInstance: function () {
if (!taskRepo) {
taskRepo = createRepo();
}
return taskRepo;
}
};
})();
var repo1 = TaskRepo.getInstance();
var repo2 = TaskRepo.getInstance();
if(repo1 === repo2){
console.log("Same TaskRepo")
}
var myrepo = require('./Repo');
var taskHandler = function () {
return {
save: function (){
myrepo.save('Hi from taskHandler');
}
}
}
module.exports = taskHandler();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment