ФАЙЛ C ++ без записи на диск

Я использую библиотеку, которая имеет довольно много функций, которые записывают в ФАЙЛ , но ни одна из них, кажется, удобно выгружает те же данные к объекту в памяти. Есть ли способ создать объект FILE (или переопределить его), который сохраняет данные в памяти вместо записи на диск - I ' Чтобы добиться этого, я придумал концепцию репозитория и фабричного метода для создания объектов. Вот реализация:

//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 строк кода) с использованием этого подхода. Я возвращаюсь к JavaScript после долгой работы над серверным кодом, поэтому не очень уверен в своем решении. Кроме того, я мог бы использовать ES5 Object.create, но заказчик пока застрял в браузерах IE8 и FF3.6.

Спасибо

5
задан Community 27 November 2012 в 00:18
поделиться