|
|
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
есть класс в нем Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. это лучше, чем городить if или switch, т.к. вызываемых методов прилично. количество вызываемых методов растёт, есть желание разделить их на логические группы, а эти группы поместить в разные файлы но как это можно реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 08:35 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяэто лучше, чем городить if или switch, т.к. вызываемых методов прилично. Зато типобезопасность идёт лесом. Лучше было использовать полиморфизм. На худой конец - HashMap. Тем более с лямбдами сейчас это очень просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 09:21 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяэто лучше, чем городить if или switch, т.к. вызываемых методов прилично. Зато типобезопасность идёт лесом. Лучше было использовать полиморфизм. На худой конец - HashMap. Тем более с лямбдами сейчас это очень просто. соглашусь, но сейчас вопрос не об этом. а как разнести методы по разным файлам (классам?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 09:37 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяа как разнести методы по разным файлам (классам?) Ctrl+X, Ctrl+V ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 09:40 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, шутник, как вызывать из одного класса - методы из разных классов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 09:54 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяшутник, Какой вопрос, такой и ответ. вадякак вызывать из одного класса - методы из разных классов? Вероятно, вместо this.getClass() нужно использовать ссылку на класс, в котором находится метода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 10:02 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, Я вот теряюсь в догадках, Вы что эмулируете, JMS или RPC? Колеса уж очень квадратные.... Кто вызывает вот этот метод onMessage? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 10:41 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
делаю Код: java 1. 2. 3. на последней строке выдаёт java.lang.IllegalArgumentException: object is not an instance of declaring class ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 10:42 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
HoBTID, это вызывает WebSocketServer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 10:44 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяделаю Код: java 1. 2. 3. на последней строке выдаёт java.lang.IllegalArgumentException: object is not an instance of declaring class В этой строке: method.invoke(cl, args); 1-й параметр должен быть объектом, а не классом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 10:45 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
сделал так Код: java 1. 2. 3. 4. работает. но смущает вот это Object objCl = cl.newInstance(); насколько затратная операция? зачем её делать многократно, можно ли (будет ли быстрее) как-то вставить её в Singleton? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 11:20 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадянасколько затратная операция? В переиспользовании экземпляров нужно соблюдать баланс между количеством долгоживущих объектов, которые влияют на производительность GC и затратами на создание новых экземпляров. У вас высоконагруженая обработка сообщений? Если проект взлетит, то потомки вас будут проклинать за рефлексию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 11:32 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадячем городить if или switch если "городить" - это всё, что не нравится. То напиши через if или switch ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 11:33 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, ООП в разруливании сообщений не нужен. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 11:35 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Petro123вадячем городить if или switch если "городить" - это всё, что не нравится. То напиши через if или switch если цепочка из 100 if - номально, то.... да и добавлять нужно будет и в if и метод, так я добавляю только метод. авторЕсли проект взлетит, то потомки вас будут проклинать за рефлексию. чем рефлексия тормознута? и чем её можно заменить? методов для выполнения ожидается много. if и switch при >100 методов будет тоже не быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 13:19 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, > 100 if бест-практик. Я задавал этот вопрос у чела из MS. Он сказа что в самой MS портянки на события очень большие. Это не БЛ, а переключатели. Это нормально. Удачи! PS. Можно разделить обработчики на 4 простыни из категорий событий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 13:23 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
if и switch работают последовательным проходом и сравнением как работает рефлексия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 13:32 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Напрашивается паттерн "команда" + хеш-таблица. А с рефлексией, кроме всего прочего, есть еще и вопросы безопасности. Например, если указанный метод предназначен для работы в web, то с клиента могут прийти не только разрешенные команды, а и вообще вызов любого публичного метода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 13:34 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
авторНапрашивается паттерн "команда" + хеш-таблица. более подробно можно? если про web - то я могу занести все разрешенные методы в array (к примеру) и вызывать только их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 13:41 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадязанести все разрешенные методы в array (к примеру) и вызывать только их. они уже там есть при рефлексии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 14:05 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяавторНапрашивается паттерн "команда" + хеш-таблица. более подробно можно? если про web - то я могу занести все разрешенные методы в array (к примеру) и вызывать только их. 1) во-первых, 100 методов - декомпозиция неизбежна. Паттерн "команда" предлагает безкомпромиссную декомпозицию - на каждую команду создается отдельный класс. Для этого описываем интерфейс примерно такого вида: Код: java 1. 2. 3. и создаем 100 простейших классов, реализующих этот интерфейс. Необходимо добавить новую команду - просто добавляем новый класс, не торгая всё остальное 2) в методе onMessage пролучив на входе символьную команду, надо как-то получить соответствующий ей объект и выполнить метод execute() этого объекта. Тут все зависит от прочих условий - Например, можно заранее создать таблицу и при старте поместить в нее сконструированные объекты Map<String,ICommand>. На момент выполнения вызываем Код: java 1. - Если есть проблемы с памятью, то можно поместить в таблицу классы Map<String,Class<ICommand>> и создавать объект только на время выполнения команды: Код: java 1. - можно использовать готовый механизм работы с бинами, например, спринг начальное заполнение таблицы - тоже много вариантов. - забить всё в коде - сканировать определенные пакеты - использовать ресурс с именами классов - и т.д. Если хотим избежать жесткого кодирования, то почти во всех вариантах будет использована рефлексия, хотя и достаточно "ленивая" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 14:51 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
ivanra, не для флейма, а как контраргумент. Т.к. if или ООП шансы равнозначны. - 100 классов это не меньше 100 if константа - шаблон комманда часто применяют в ГУИ напр. на Меню, а не в системных библиотеках. Решать аффтару. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 15:01 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадячем рефлексия тормознута? Нет, дело не в производительности. Тут в соседней теме хорошее видео. Там в начале про рефлексию есть. 16488677 вадяи чем её можно заменить? методов для выполнения ожидается много. Любым прямым диспатчем, через Map+Callable, через полиморфизм. Можно таки внятно объяснить, зачем все методы в одном классе? вадяif и switch при >100 методов будет тоже не быстро. А при параллельных иерархиях будет убийственно для поддержки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 15:45 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Учитывая что this.getClass().getMethod(...) имеет ограниченную спецификацию методов или количество методов счётно то совершенно нет смысла городить общую (generic) постановку при которой нам "что угодоно" приходит в data и мы с ним делаем "что нибудь". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 17:10 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
из просмотренного и прочитанного можно сделать вывод - рефлексия не очень медленный процесс, и в большинстве случаев, потерю быстродействия не поймать. рефлексия не безопасна, если использовать в лоб, можно нарваться, но если кто-то захочет что-то взломать - вопрос в цене на защиту от взлома и цене данных...(в моём случае достаточно все методы загнать в массив + вся проверка в пару строк) следующий вопрос - цена разработки и сопровождения в применении к своему случаю - у меня есть метод onMessage, я его написал, отладил, и забыл про него. дальше только добавляю методы для обработки собщений, обработка простая максимум 40 строк(подготовка и обращение к базе , try/catch + немного логики). при этом повторяющиеся куски кода можно вынести в отдельный метод. расположив его неподалёку от места где вызывается. получается наглядно и просто. но когда число методов вырастает - рыскать по такому количествунесколько мутноватно. автор Паттерн "команда" предлагает безкомпромиссную декомпозицию - на каждую команду создается отдельный класс. т.е. получеатся 100+ файлов? компиляция многих файлов - больше времени, чем одного большого (на время разработки существенно) да и искаить что-то в файлах затрвтнее, чем в одном файле. if/switch - тоже не есть хорошо - (т.е. хорошо когда получаешь за строки ) -нужно написать метод, да не зfбыть добавить его в листинг if/switch и сколько времени потребуется для прохождения и сравнения всех 100+ строковых данных.... авторМожно таки внятно объяснить, зачем все методы в одном классе? для начала из простоты, пока их 15 проблем нет, удобно , наглядно. вот и встал вопрос сгруппировать в разные файлы(я не говорю классы, хотя придется группировать в классы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 19:11 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяHoBTID, это вызывает WebSocketServer. вот тут у тебя проблема. Если система растёт, то это не буквально растёт onMessage() на 200 методов. Ты очень любил websockets?. Вот и получаешь его результат. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 21:22 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Petro123вадяHoBTID, это вызывает WebSocketServer. вот тут у тебя проблема. Если система растёт, то это не буквально растёт onMessage() на 200 методов. Ты очень любил websockets?. Вот и получаешь его результат. IMHO да, я очень люблю websockets, и рост onMessage ни сколько не мешает этому. это можно сделать и на ajax, и получить теже 200 методов. только головняков будет больше. проверено. а многие вещи с ajax просто не реализуемы. это 100-200 методов не недостаток websockets, а лишь результат того, что послать запрос на сервер очень дешево и получить ответ также. если надо на сервере обработать данные с клиента - я должен отправить на него (либо через ajax либо через websockets) команду и данные. пусть тем же xml, на сервере распарсить и выполнить требуемой командой действия над данными. тоже и на клиенте - команда + данные, только на javascript все решается проще window [comanda] (data) так что websockets здесь только облегчает жизнь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 22:43 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяэто можно сделать и на ajax, и получить теже 200 методов. откуда 200? Есть классы, есть методы, есть параметры Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 23:24 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, вот и приведи свои 200 методов. Тебя просили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 23:26 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, вот и приведи свои 200 методов. Тебя просили. есть поля с возможностью поиска+редактирования найденного, + в зависимостиот найденного - отображаются еще несколько полей, также с возможностию редактирования. к примеру (очень грубо) выбираешь клиента-список товаара,выбираешь товар-куча его свойств. не обновлять же при каждом выборе страницу. для клиента - как минимум 3 запроса - для поиска, для отправки редактированного, для удаления(как вариант пометка как не действующий). а если делать удобный интерфейс - фильтры, сотрировки ... 1 страница -10-15 запросов, страниц 10-15, вот и посчитай это не для сайта, это для корпоративного портала. авторhttp//имяПриложения/ИмяМетода?ПарамМетода1=фф, ПарамМетода2= .... ну и что я отправляю: имяметода|параметр%параметр... мне проще распарсить мою сторку - всего два сплита ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 08:03 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя1 страница -10-15 запросов, страниц 10-15, вот и посчитай ну, дак не все они идут через одно игольное ушко onMessage? Нафига тогда ЯП _высокого_ уровня? автормне проще распарсить мою сторку - всего два сплита оформи СВОЮ процедуру в Код: java 1. и будет замечательный велосипед. Только не мешай код системного уровня с БЛ прикладной и транспортным уровнем. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 10:44 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
авторну, дак не все они идут через одно игольное ушко onMessage? Нафига тогда ЯП _высокого_ уровня? почему ты считаешь игольным ушком? http//имяПриложения/ИмяМетода?ПарамМетода1=фф, ПарамМетода2= .... также можно считать игольным ушком. чем отличается http//имяПриложения/ИмяМетода?ПарамМетода1=фф, ПарамМетода2= .... от websockets? websockets удобней, проще, быстрее, универсальней, двунаправленно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 12:40 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадячем отличается http//имяПриложения/ИмяМетода?ПарамМетода1=фф, ПарамМетода2= .... от websockets? websockets удобней, проще, быстрее, универсальней, двунаправленно ты не БАД'ы продаешь? ))...с такой формулировкой? Откуда тогда полиморфизм и твоя тема на сокетах? ... Rest Full (url семантика) хотя бы по семантике тот же самый как код методов программиста. Он как минимум сохраняет состояние программы у пользователя на рабочем столе. Было бы оригинально, если бы мне предлагали писать новый протокол общения сервера и клиента на TCP по порту 1521 Ты пишешь обвязку над сокетами? Фреймворк для прикладника-программиста? Тогда так в теме и пиши. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 13:06 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, я правильно понимаю что в метод onMessage приходит строка, которая содержит параметры и имя метода для вызова? Если так, то что мешает разобрать её и за роутить на нужный метод нужного контроллера? Я не могу понять где у тебя появляется рефлекшен для этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 13:13 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
GregTk, он и перебирает методы этого. В динамике, не привязываясь жестко в константах в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 13:23 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Petro123, Так собственно в динамике это и не нужно, это нужно на этапе формирования этого роутинга. А на самих вызовах рефлекшена и не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 13:38 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
GregTkPetro123, Так собственно в динамике это и не нужно, это нужно на этапе формирования этого роутинга. А на самих вызовах рефлекшена и не должно быть. согласен. Ему все варианты и дали. От простого if case простынки до лямбд Command и авторЛюбым прямым диспатчем, через Map+Callable, через полиморфизм. Можно таки внятно объяснить, зачем все методы в одном классе? Что тут технологически красиво - сложно сказать. У него сейчас 15 методов. А будет ли 500 - неизвестно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 13:45 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
авторRest Full (url семантика) хотя бы по семантике тот же самый как код методов программиста. Он как минимум сохраняет состояние программы у пользователя на рабочем столе. Было бы оригинально, если бы мне предлагали писать новый протокол общения сервера и клиента на TCP по порту 1521 Ты пишешь обвязку над сокетами? Фреймворк для прикладника-программиста? Тогда так в теме и пиши. мы видимо о разном говорим... есть протокол websockets(ws) альтернатива ajax, comet и пр. поддерживается даже ie10+ опуская весь путь от браузера до сервера, имеем слушателя на понравившемся порту, сообщение после прочей обработки, расшифровки попадает в onMessage. по спецификации websockets пересылает строку (либо массив байт), как использовать эту строку - отдано прикладной программе. я разделителями делю на части - команда и данные команда = имя метода для обработки(для простоты). причем здесь авторТы пишешь обвязку над сокетами? Фреймворк для прикладника-программиста? очень грубо говоря - я пишу вебморду для работы с данными - формы ввода, просмотра, и пр., как продолжение грубой фссоциации - интернет магазин с раширенными фунциями. можно сделать и десктоп , но придется устанавливать, а так открыл браузер и работай.(ws хорошо встроится и в десктоп, и в андроид) авторты не БАД'ы продаешь? ))...с такой формулировкой? Откуда тогда полиморфизм и твоя тема на сокетах? чтоб это написать websockets удобней, проще, быстрее, универсальней, двунаправленно надо бадов накушаться? против каких пунктов из выше перечисленных ты против? одно то, что инициатором сообщения может быть сервер многого стоит. тут даже comet курит в стороне, не говоря об ajax. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 14:05 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
авторЧто тут технологически красиво - сложно сказать. У него сейчас 15 методов. А будет ли 500 - неизвестно. вот я и ищу более "красивого вида" даже при 20 методах всё красиво и для сопровождения и для отладки. if мне не нравится, уже писал. "паттерн команд" тоже не очень, по скорости я думах, что проиграет рефлексии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 14:12 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, OFF все верно - ты получил массив байт. Всё остальное - сам. В сервлет 3.0 у меня есть Код: java 1. 2. и есть Код: java 1. IMHO веб-сокет новая технология и этой обвязки _пока_ нет автор - я пишу вебморду для работы с данными - формы ввода, просмотра, и пр., как продолжение грубой ты не делишь ИС на слои и уперся в масштабирование. Но это не по теме и IMHO. Сделай маппинг статикой через case прямо в коде. Или хеш-таблицами в оперативеке или... Всё будет работать....потом всё равно всем нам всё переписывать ))) LOL Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 14:17 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
авторВ сервлет 3.0 у меня есть @WebServlet("/ИмяПроцедуры") public class ИмяПроцедуры extends HttpServlet { и есть request.getParameter("ПараметрПроцедуры"); да да да да это бесспорно есть и работает. а ты с сервера можешь посылать сообщения браузеру, без обращения браузера к серверу??? но для 100+ именПроцедур у тебя тоже возникнут аналогичные проблемы. все методы в одном файле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 14:35 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, off - а зачем мне сервер будет спамить в браузер? - сервлет в отдельном файле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 14:40 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
метод = классу сервлета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 14:41 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, off - а зачем мне сервер будет спамить в браузер? - сервлет в отдельном файле а вот тут и есть преимущества - всё дело в трактовке . если трактовать как спам - то да, это безобразие. 1) а если тебе (опять очень грубый пример) нужно отображать изменения кучи параметров в браузере изменения случайны каждое изменение рекое, но таких изменений 20 в минуту . ты своим способом будешь бомбить сервер на вопрос - покажи ка мне, а не изменилось ли что? а если таких клиентов 50+ у тебя сервер будет работать в пустоту, а если использовать "спам" - изменение пришло - сервер разослал "подписчикам" только изменённые данные и курит 2) я выбрал клиента - уменя обновилось в окне несколько полей - сервер отправил несколько последовательно ответов для обновления этих полей и метод для обновления конкретного поля я использую многократно. в любоим месте. просто вызываю метод с нужным параметром - и он отправляет данные для обновления , нужно отобразить изменения 10 полей - сервер отправит 10 сообщений - ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 15:06 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, 1) у тебя ведь не такой проект? Мало ли каких проектов есть на свете. Опиши свой проект...в отдельной теме. 100% что он уже есть в сети и учебниках. Просто флейм неинтересен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 15:37 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
авторвадя, 1) у тебя ведь не такой проект? Мало ли каких проектов есть на свете. Опиши свой проект...в отдельной теме. 100% что он уже есть в сети и учебниках. Просто флейм неинтересен. у меня именно такие проекты. в сети такого нет, использование websocets в сети пока просто демонстрация чата на ws. я нашел хорошую библиотеку для ws её несколько модифицировал (эти тонкости ws пока в инете не рассматривают) и использую вариант wss (с шифрованием). если есть желание можно в скапе обсудить с удовольствием послушаю дельные замечания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 15:49 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, так, навскидку: - сделать сервисный слой с навешиванием аннотаций так-же как в сервлет 3_0. Т.к. программисту - прикладнику не нужны кишки твоего парсинга и маппинга. - нагрузочное тестирование на твой канал. Т.к. в контейнере этим занимается он сам. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 15:54 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяа если тебе (опять очень грубый пример) нужно отображать изменения кучи параметров в браузере изменения случайны каждое изменение рекое, но таких изменений 20 в минуту . ты своим способом будешь бомбить сервер на вопрос - покажи ка мне, а не изменилось ли что?Никто ничего бомбить не будет - сервер не обязан мгновенно отвечать "ничего не изменилось". Может подожать секунд пятнадцать и, если что-то изменилось - прислать данные. Не изменилось - вот тогда так и скажет. Этакая авторегулировка частоты опроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 15:56 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovвадяа если тебе (опять очень грубый пример) нужно отображать изменения кучи параметров в браузере изменения случайны каждое изменение рекое, но таких изменений 20 в минуту . ты своим способом будешь бомбить сервер на вопрос - покажи ка мне, а не изменилось ли что?Никто ничего бомбить не будет - сервер не обязан мгновенно отвечать "ничего не изменилось". Может подожать секунд пятнадцать и, если что-то изменилось - прислать данные. Не изменилось - вот тогда так и скажет. Этакая авторегулировка частоты опроса. опять очень грубый пример можно найти решение, но если есть более простое - почему его не использовать? нужно на клиенте делать таймер, чтоб раз в 15 секунд опрашивать. на сервере запрос чтоб "спал". а если в эти 15 секунд потребуется сделать ещё какой запрос? более короткий? что его обработает на клиенте? как ответ от первого? или ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 16:11 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадянужно на клиенте делать таймер, чтоб раз в 15 секунд опрашиватьЕщё раз. На клиенте ничего не меняется - он продолжает опросы "как раньше". Логика обработки запроса меняется на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 16:24 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадя, ты про это? Вот сайт. Вверху кнопка пауза. В динамике обновляет новости http://mediametrics.ru/rating/ru/online.html?article=87963593 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 16:28 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
ещё раз нужно на клиенте делать таймер, чтоб раз в 15 секунд опрашивать. на сервере запрос чтоб "спал". а если в эти 15 секунд потребуется сделать ещё какой запрос? более короткий? что его обработает на клиенте? как ответ от первого? или ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 16:32 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Petro123, типа того, только у них идут запросы с клиента ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 16:34 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
вадяа если в эти 15 секунд потребуется сделать ещё какой запрос?"А если дождь во время усушки?" (ц) попугай Кеша. Разработка UI - задача сложная и до сих пор не решённая. Никем. Конкретная проблема (получение нерегулярно меняющихся данных) может решаться так, как я сказал. На сервере. Без участия клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 16:56 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
сделал так в Singleton Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. в onMessage .... Код: java 1. 2. 3. убил небезопасного зайца - будут запускаться только мои методы вопрос если в папке wss будут классы wss.Page2, wss.Page3.... как их перебрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 17:01 |
|
||
|
Про рефлексию вопрос
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorovвадяа если в эти 15 секунд потребуется сделать ещё какой запрос?"А если дождь во время усушки?" (ц) попугай Кеша. Разработка UI - задача сложная и до сих пор не решённая. Никем. Конкретная проблема (получение нерегулярно меняющихся данных) может решаться так, как я сказал. На сервере. Без участия клиента. вот я её и решил простым методом причем я могу одним методом отправлять данные в браузер и в десктоп и в андроид ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 17:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2126693]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
135ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 397ms |

| 0 / 0 |
