Здравствуйте, __SPIRIT__, Вы писали:
__S>Здравствуйте, MasterMind, Вы писали:
MM>>This page shows how to create private variables and methods in classes in Javascript through the rather simple example of a person MM>>http://phrogz.net/JS/Classes/OOPinJS.html
__S>Спасибо за то что освежил в памяти... А вот какой нить красивый вариант с перегрузкой функций и операторов есть? а еще красивый вариант виртуальных функций?
С перегрузкой методов я делал вариант, правда он сложный и не очень красивый .
Он основан на том, что читается сигнатура функции, из не вычленяются параметры, тип параметра определяется по префиксу имени параметра. Затем строится динамический прокси для этой функции, в котором в зависимости от типа параметров вызывается тот или иной перегруженный метод. В общем все достаточно сложно и небыстро работает, но работает.
Вы в курсе, что в JS можно динамически читать содержимое любого метода, можно строить на базе этого новый, можно при помощи замыканий строить цепочку проксей для любого метода, которые дополнительную работу делают.
Перегрузка операторов по-моему нереальна.
В JS все методы виртуальные, да и вообще нет разделения на виртуальные/невиртуальные, т.к. нет понятия класса.
Принимал участие в разработке достаточно серьезного web-приложения с использованием xmlsp: http://www.xmlsp.com/. Там интерфейс клиента на JavaScript, веб-сервисы мы реализовывали на Java, все работало под WebSphere.
Здравствуйте, Joker6413, Вы писали:
J>Здравствуйте, Роман Дубров, Вы писали:
РД>>Аноним wrote:
>>> РД>А вообще javascript — это фигня, >>> >>> Фигня. Но поддерживать ее — , злости не хватает.
РД>>см выше. РД>>в принципе не отличается от поддержки любой другой технологии... просто РД>>со своими бзиками.
J>Не согласен, этнтропия jscript кода растет в вообще несяной прогрессии.
В нашем проекте половина всего взаимодействия с клиентом реализовано на клиенте посредством скрипта, там и Аякс и активикс и прочее... и ничего, все нормально работает, отлаживаеться и сопровождаеться.... Нужно просто руку набить и все... я раньше тоже когда видел эти скрипты покрывался холодным потом, а сейчас все ок.
Здравствуйте, Аноним, Вы писали:
А>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.
1) Научиться программировать вообще
2) Научиться программировать на Scheme
3) Научиться хорошему функциональному стилю, активно использовать комбинаторы, итераторы, замыкания.
4) Вернуться к JavaScript, понять, что это такая Схема с кривым си-подобным синтаксисом, и начать программировать на нём такими же методами, как на Схеме. Результат получится качественный, понятный, красивый и надёжный.
Здравствуйте, VladiCh, Вы писали:
VC>На самом деле в JavaScript'е нет классов, можно сделать только их эмуляцию, правда довольно полноценную, с наследованием, виртуальными/не виртуальными функциями и даже ограничением видимости (public/private/protected), если очень хочется. Правда т.к. это все-таки эмуляция, создание этих псевдо-классов и тому подобные вещи происходят в рантайме, а т.к. язык очень слаботипизированный, то писать бизнес-логику на нем все же не очень удобно. Вот GUI — вполне.
Ёлы-палы, ну зачем вам классы-шмассы для бизнес-логики? Пишите функционально, JavaScript это неплохо позволяет, там замыкания есть. На фига нужны вообще эти ваши классы, когда есть замыкания?
Здравствуйте, VladiCh, Вы писали:
А>>>Нанять отдельного javascript программера мы не может и на это нет времени.
VC>А вот это зря... Без отдельного программера вы больше времени потеряете на обучение разработчиков тому, как правильно надо писать на JS (это хоть и не так сложно, но требует времени, т.к. концепция существенно отличается от mainstream-языков.
А это лишь в очередной раз доказывает, что не фиг содержать серых мейнстримщиков. Бесполезный они народец. Лучше взять поменьше, подороже и покачественнее, таких, которые знакомы со всеми существующими парадигмами и легко и быстро разбираются в любом языке.