WikiDer > Джуз (каркас)
Разработчики) | Мальте Убл |
---|---|
Стабильный выпуск | 2.1 / 2 августа 2009 г. |
Написано в | JavaScript |
Тип | Фреймворк веб-приложений |
Лицензия | Новая лицензия BSD |
Интернет сайт | https://code.google.com/p/joose-js/ |
Joose является Открытый исходный код самостоятельный хостинг метаобъектная система за JavaScript при поддержке классы, наследование, миксины, черты и аспектно-ориентированное программирование.
Мета-объектная система Joose является мультипарадигмальной. Он поддерживает основанный на классе и на основе прототипа стили программирования, а также наследование на основе классов и расширение на основе ролей. В то время как другие JavaScript-фреймворки часто специализируются на ДОМ-доступ и AJAX, Joose специализируется исключительно на внедрении успешных методов программирования в язык сценариев JavaScript. Таким образом, Joose часто используется вместе с другой структурой DOM / Ajax JavaScript и тестируется с помощью jQuery, Юй, Додзё, ExtJS, Прототип, Mootools и PureMVC.
Джуз был сильно вдохновлен лось, объектная система для Perl 5 который сам был вдохновлен Perl 6 объектная система, но в отличие от Perl и Moose, Joose не поддерживает множественное наследование.
Пример
Два класса написаны на Joose:
Учебный класс("Точка", { имеет: { Икс: {является: "rw"}, у: {является: "rw"} }, методы: { Чисто: функция () { это.setX(0); это.setY(0); } }});Учебный класс(«Point3D», { это: Точка, имеет: { z: {является: "rw"} }, после: { Чисто: функция () { это.setZ(0); } }});
Point3D - это подкласс Point. У него есть другой определенный атрибут и дополнительный код для запуска после запуска метода суперкласса clear (). «Rw» означает, что атрибут доступен для чтения и записи с помощью пары средств доступа get / set, созданных автоматически.