Сообщение от devote
|
Есть тут свои тонкости, конечно же нет возможности создания интерфейсов, абстракции и прочих полноценных прелестей ООП.
|
Сообщение от devote
|
хм.. что-то не так написал? могу исправить если я в чем-то ошибаюсь.
|
Создается впечатление, что автор считает классовое ООП рассово верным, чем может обидеть религиозные чувства сторонников противоположной позиции, случайно наткнувшихся на этот текст...
Сообщение от devote
|
честно говоря над методом Class.autoload нужно еще поработать, мне конечно не совсем пока нравится как это работает. Поэтому в будущих версия этот метод возможно претерпит изменения.
|
Сообщение от devote
|
насчет обработки ошибок (Class.imports) тоже вполне возможно будут изменения, но пока не решил как улучшить и т.д.
|
что не нравится?
Сообщение от B~Vladi
|
Правильнее было бы назвать это пространством имён.
|
Правильнее было бы не называть это, чтобы можно было самому решать, где это будет пространством имен, а где классом.
Сообщение от devote
|
а вообще внутри библиотеки указаны примеры создания:
|
Сообщение от devote
|
аж 12 вариантов:
|
Поддерживаю, слишком много. Можно было бы вынести дополнительные свойства в отдельный аргумент, в результате у них появится имя:
Class('MyClass', {
myMethod: function() {...},
...
}, {context: '...', staticData: {...}});
т.е. такая сигнатура: Class(name, data, options)
И по поводу extends/implements/include (наследование), их можно туда же засунуть. Или прямо в data, зарезервивовав для служебных целей, например, двойное подчеркивание:
Class('MyClass', {
__extends: 'MyBaseClass',
__implements: 'MyMixin',
__construct: function() {...},
myMethod: function() {...}
});