我想从正在使用的法典中分离出 Java语,以便我能够灵活地把一个物体的执行换成具有相同签名的其他物体,同时又不触及守则的许多内容。 为了实现这一目标,我提出了保存概念和制造物体的工厂方法。 执行:
//The Factory Method
function ObjectFactory() {}
ObjectFactory.create = function (o) {
var args = [].slice.call(arguments, 1);
function F() {}
F.prototype = o.prototype;
var instance = new F();
o.apply(instance, args);
return instance;
};
//The Repository
var Repository = {
invitation : Invitation,
message : Message
};
//Usage
var inv = ObjectFactory.create(Repository["invitation"], "invitation", "invitation body", "Sender");
var msg = ObjectFactory.create(Repository["message"], "message", "message body");
var inv2 = ObjectFactory.create(Repository["invitation"], "invitation2", "invitation body2", "Sender");
这一模式对我来说是行之有效的,但在我的项目中,在我开始执行这一守则之前,我想知道,在使用这一方法的情况下,存在着任何陷阱(如果我制造5-10个200-1000条代码线的物体),制造物体、性能瓶颈。 我在长时间内就服务器边代码开展工作后,回到了 Java,因此我对我的解决方案没有信心。 而且,我本可以使用ES5目标。 而现在客户则与IE8和FF3.6浏览器 st。
Thanks