Как я вас понимаю, тоже не раз приходилось по работе разговаривать с не очень адекватными людьми. Сам всегда стараюсь спокойно разговаривать даже если чем-то недоволен.
Да вы правильно поняли почти все теги из стандартных наборов struts1 — 2 используют обращения к методам бина (в первом стратсе это форма а во втором экшн) по рефлекшену. + вспомнил jstl (el) работает аналогично.
Нет, аксис генерит объект, бин который будет отправлен сервису. Эта генерацию нужно будет повторить для использования смарт бинов.
Думаю если посидеть повспоминать этот список будет достаточно большой.
ООП это эволюция процедурного программирования, а не какой то стиль. Если вы программист я бы вам советовал больше времени уделить изучению вещей (в данном случае ООП) о которых вы высказываетесь как специалист.
Вы ничего не поняли. Это же «абстрактная» задача. Резкой сменой хранилища я хотел показать гибкость ооп подхода, возможности…
На вскидку другой пример: наша программа должна сама решать откуда брать данные (если нет коннекта к БД лезем в кэш пусть он будет в XML формате). Мне ненужно будет ломать архитектуру, есть же общий предок commonDAO.
Скорее всего вы просто «не доросли» до ООПа. В объектно ориентированном программировании как ни странно главное объект. Если вы смоете абстрагироваться от задачи и выделять архитектурные объекты вот тогда вы в полной мере смоете оценить ООП. Даже не знаю как вам все это на пальцах разложить, это слишком обширная тема. Вот вам небольшой пример: шаблон DAO. Если вы не в курсе DAO шаблон помогает нам добираться до нужных нам данных. Мы реализуем базовый класс(или интерфейс) commonDAO, создаем в нем общие методы create, read, update, delete. Дальше реализуем логику, допустим данные наши хранятся в БД. Наследумся от commonDAO реализуем заранее определенные методы для доступа к таблице. Вот вобщем и все ) А тут вдруг приходит заказчик и говорит — «Чето не хочу я БД давайте лучше данные будем хранить в XML». Как вы бы решили эту задачу без ООПа? Я просто создам DAO объект позволяющий работать с XML и просто подменить создание класса. Т.к. наша программа умеет работать с commonDAO то и с его наследниками будет работать. Еще один плюс эти commonDAO, SQLDAO и XMLDAO я могу использовать в следующих проектах.
Надеюсь я доступно объяснил. Пример который я вам привел это самый простой и неинтересный.
Это все интересно и познавательно, но пример который сразу мне приходит в голову это таглибы стратса. С вашими «смарт-бинами» я с этими таглибами без дополнительных кувырканий работать не смогу. (пока писал про аксис вспомнил). В общем будет плохо если вы будете использовать любой фреймворк который так или иначе вызывает методы по рефлекшену.
Упс, я неправильно вас понял. Возможно метаданные и выход в данном случае, но я бы не стал отходить от концепции бинов, а возложил функцию выяснения «что же нам вывести» на другой слой бизнес логики приложения.
На мой взгляд уходя от стандартов нужно помнить, что есть немаленький шанс столкнуться с серьезными трудностями. Решая которые вы возможно потратите намного больше времени, чем выиграете используя ваши «смарт-бины».
Эммм а как же JBoss Portal? В свое время выбирал между JBoss'ом и Liferay, остановил свой выбор на JBoss Portal'е. Еще ни разу не пожалел. Хотя на данный момент коллеги разрабатывают на Liferay, хвалят.
Мне вот интересно, а вдруг какой нибудь вирусописатель напишет трояна который будет с торрентов сливать какой нибудь закопирайченый файл. Не докажешь ведь потом…
Нет я писал на C/C++, сейчас на Java. Мне кажется я немного понимаю в ООП.
Нет, аксис генерит объект, бин который будет отправлен сервису. Эта генерацию нужно будет повторить для использования смарт бинов.
Думаю если посидеть повспоминать этот список будет достаточно большой.
На вскидку другой пример: наша программа должна сама решать откуда брать данные (если нет коннекта к БД лезем в кэш пусть он будет в XML формате). Мне ненужно будет ломать архитектуру, есть же общий предок commonDAO.
Надеюсь я доступно объяснил. Пример который я вам привел это самый простой и неинтересный.
Мне тоже было инетесно побеседовать )
На мой взгляд уходя от стандартов нужно помнить, что есть немаленький шанс столкнуться с серьезными трудностями. Решая которые вы возможно потратите намного больше времени, чем выиграете используя ваши «смарт-бины».
Еще одни грабли, как быть с фреймворками которые уже работают с бинами?