我正在尝试一种JavaScript设计模式(不确定它是否有名称?),其中我将原型函数作为项目集合。要创建一个新项目,我首先实例化一个集合,获取newItemBuilder函数,设置我想要的任何名称或其他属性,并创建实际的项目。
但是,在每个Item中,我想要检索它所属的collectionId而不是太多的喧嚣。这在JavaScript / Node.js中是否可行?我可以获得某种来电信息吗?
我在这里创建了一个完整来源的要点https://gist.github.com/Niklas9/6350880,或者看下面的分数。
Collection.js的分数:
var Collection = function() {
this.id = 23423;
this.name = 'collection 1';
}
来自Item.js的分数:
var Item = function() {
this.name = null;
this.collectionId = null;
}
来自ItemBuilder.js的分数:
var ItemBuilder = function() {
this.name = null;
}
ItemBuilder.prototype.withName = function(name) {
this.name = name;
return this;
}
ItemBuilder.prototype.create = function() {
var item = Item;
item.name = this.name;
item.collectionId = null; // <-- this is where I want to get collectionId
return item;
}
来自来电者的分数:
var itemBuilder = collection.newItemBuilder();
var item = itemBuilder.withName('item 1').create();