Сообщение от eai
|
Мешает то что, что надо делать так
|
Ну так это 5 строк кода, которые выносятся в отдельную функцию, вы же почему-то вместо этих пяти хотите сотню понаписать.
Сообщение от eai
|
И я пытаюсь использовать JS с принципами построения приложений ООП и не более.
|
С принципами построения приложений на С++, вы хотели сказать? А то из ваших слов ненавязчиво следует, что в С++ единственный рассово верный ООП.
Сообщение от eai
|
для того что бы убедиться что я на верном или не верном пути проводя реинжениринг кода из AjaxOOP.
|
Если подразумевается, на верном ли вы пути, что вообще взялись за AjaxOOP, то нет, не на верном. Любой путь, подразумевающий в той или иной мере копирование классового ООП, не верный.
Мне, например, по всем критериям хватает для организации наследования функции на 10 строк.
/**
* Создаёт конструктор, прототип которого наследует прототип текущего конструктора.
* Для создания ничего не наследующего конструктора следует использовать Object.inherit({...}).
* @param {Object} proto Объект с методами и свойствами, копирующимися в прототип создаваемого конструктора.
* @return {Function} Созданный конструктор.
*/
Function.prototype.inherit = function(proto) {
var that = this;
proto = proto || {};
var constructor = proto.hasOwnProperty('constructor') ? proto.constructor : function() { that.apply(this, arguments); };
var F = function() {};
F.prototype = this.prototype;
constructor.prototype = apply(new F(), proto);
constructor.superclass = this.prototype;
constructor.prototype.constructor = constructor;
return constructor;
};
Она не добавляет никаких новых сущностей в язык, она просто упрощает создание и наследование конструкторов.