|
|
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevМинусы примера это был пример решения задачи в общем виде, не применительно к сокетам, сервлетам, кол-ву запросов или чему либо еще. на счет как это называется, без разницы :) Leonid Kudryavtsevпередавать обрабатываемые данные через параметры. Лишняя операция создания объекта лично меня обычно напрягает они и так будут через параметры передаваться. вопрос в том куда и как. на счет создания объектов - это все детали реализации. у нас вполне могут быть thread safe синглтоны (не в смысле статический класс, а в смысле один экземпляр) Leonid Kudryavtsevмного букв, т.к. нужно для каждой операции создавать свой класс. Но тут вполне могут помочь лямбды и клосуры в новой Java. По смыслу будет тоже самое, но буковок в итоге может оказаться меньше и код получится более компактный. Но компактность IMHO это плюс для случаев, когда операций мало. Если операций много, то лучше через классы, т.к. компактности в любом случае не получится, но с лямбдами можно сотворить помойку, а с классами хоть и будет много букв, зато строгая и логичная системаименно так - это тоже детали реализации - о конечно задаче ведомо только ТС. если у нас куча функций со своими зависимостями (репозитарии, сервисы) - то без классов никак, если у нас 4-5 команд, можно как угодно решать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:14 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
вадяты не понял проблемы вопрос не в количестве обработчиков, а как их вызвать ок, какая разница 300 методов или 300 условных строчек вида type1 --> class1 это точно такой же табличный метод записи, только у тебя вместо Map - класс, вместо ключей - названия методов, а вместо значений - их тела ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:18 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaок, какая разница 300 методов или 300 условных строчек вида type1 --> class1 это точно такой же табличный метод записи, только у тебя вместо Map - класс, вместо ключей - названия методов, а вместо значений - их тела у тебя все в одном файле у меня в разных файлах я просто добавляю/удаляю/редактирую нужный метод, мне его просто найти -есть страница с которой работаю - есть для неё файл/класс. я работаю с одно страницей не мешаю никому работать с другой.... для выбора нужного ты перебираешь все до нужного, я вызываю нужный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:24 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpasha, у меня в файле/классе 20-30 методов у тебя в одном все 300... мне найти просто, тебе ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:27 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
вадяу тебя все в одном файле у меня в разных файлах У меня конфигурация в одном месте, у тебя размазана тонким слоем повсюду. кроме того никто не мешает пойти дальше и разработать механизм само-регистрации обработчиков. все зависит от конкретной задачи - я не знаю, что делает ТС, я вижу только входящий метод и информацию о том, что там стопицот свитчей. вадямне его просто найти -есть страница с которой работаю - есть для неё файл/класс у меня нет никаких страниц, я описал способ централизованной обработки входящих сообщений вадяя работаю с одно страницей не мешаю никому работать с другой. что-что? вадядля выбора нужного ты перебираешь все до нужного, я вызываю нужный вадя, соберись. где у меня "перебираешь"? вадяу меня в файле/классе 20-30 методов что-то мало, у настоящих мастеров все вообще в одном классе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:36 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaчто-то мало, у настоящих мастеров все вообще в одном классе300 методов в одном классе? ну уж нет.... chpashaвадяя работаю с одно страницей не мешаю никому работать с другой. что-что?если я правлю одну страницу то я работаю с двумя файлами jsp странице и файлом с методами для этой страницы , мне никто не мешает и я никому не мешаю . chpashaвадядля выбора нужного ты перебираешь все до нужного, я вызываю нужный вадя, соберись. где у меня "перебираешь"?покажи как ты по имени метода вызываешь этот метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:50 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaвадямне его просто найти -есть страница с которой работаю - есть для неё файл/класс у меня нет никаких страниц, я описал способ централизованной обработки входящих сообщенийу меня тоже централизованный метод, вот только сами методы разнесены для удобства по разным файлам chpashaУ меня конфигурация в одном месте, у тебя размазана тонким слоем повсюду. кроме того никто не мешает пойти дальше и разработать механизм само-регистрации обработчиков. все зависит от конкретной задачи - я не знаю, что делает ТС, я вижу только входящий метод и информацию о том, что там стопицот свитчей.у меня не размазана - у меня есть четкое соответствие страницы браузера с методами , которые обрабатывают данные на этой странице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:53 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
вадя300 методов в одном классе? ну уж нет это был сарказм. а 30 в самый раз да? вадяесли я правлю одну страницу то я работаю с двумя файлами jsp странице и файлом откуда у нас уже взялись какие-то jsp, где в топике про jsp? может у ТС messenger на сокетах? задача сформулирована довольно общим образом, особенно в разрезе применения внутреннего класса. Но отвечая на твой вопрос, у нас 16 апреля 2018, курс биткоина 8.087,46€ , merge уже изобрели. вадяпокажи как ты по имени метода вызываешь этот метод у нас нет имени метода, есть тип сообщения. впрочем это не меняет сути. я специально для тебя продублирую то, что уже написал один раз выше, так и быть Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:01 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpasha, допер Ваш вариант. Но есть вопрос. как мне в каждом обработчике получать доступ к списку подключенных к сокету юзверей? все они хранятся у меня в потоко безопасном листе CopyOnWriteArrayList<WsUser>. Делать этот лист публичным? или package private? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:19 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaэто был сарказм. а 30 в самый раз да?это у меня 30+ для одной странице в одном файле. в проекте 10++ страниц - так что 300 это реальная цифра без всякого сарказма. chpashaоткуда у нас уже взялись какие-то jsp, где в топике про jsp? может у ТС messenger на сокетах?я к примеру привел на чем формируется страница. обновление данных по ws. страниц на портале может быть много... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:35 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
Tsyklopдопер Ваш вариант можно на "ты", мы же на каком нибудь 4pda.ru ;) Tsyklopкак мне в каждом обработчике получать доступ к списку подключенных к сокету юзверей? Делать этот лист публичным? или package private?имхо правильней выделить список пользователей в отдельный класс (да-да, еще один класс ;) ) . как до него достучаться в разных местах - возможны варианты. Можно его сделать статическим (если очень хочется) потокобезопасным. Можно его инжектировать там где надо с помощью di. Все зависит от конкретной ситуации и сферы применения. P. S. тут я хочу немного отскочить в сторону: что ты конкретно реализуешь? что есть в наличии? di framework типа spring, или "все своё", как вадя любит? почему например не взять готовый framework для сокетов? тот же спринг. Я не специалист по сокетам, может еще десяток отличных framework-во существует. Просто когда я смотрю, на то, что перетерли тут на двух страницах, а потом на примеры из спринга Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. то у меня возникает закономерный вопрос набуя козе баян? Имхо для того, чтобы самому городить вот это вот все - нужно иметь очень веский повод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:38 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
вадяя к примеру привел на чем формируется страница. обновление данных по ws. страниц на портале может быть много. так и какой смысл в сравнении яблок со сливами? У тебя страницы какие-то, у ТС - не понятно что, у меня вообще абстрактный пример решения задачи в общем виде. Причем тут тогда кол-во методов и совместное редактирование одного файла в отрыве от задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:42 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpasha...Просто когда я смотрю, на то, что перетерли тут на двух страницах, а потом на примеры из спринга... А можно просьбу от чайника и ламера: когда ссылаетесь на спринг, давайте пожалуйста RTFM на книжку/доку. AFAIK спринг он большой и если кто с ним не работал (например я), то примеры и анотации выдернутые из контекста - нифига не понятны ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:43 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpasha, это всё красиво пока в теории. и в малом количестве ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:44 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
вадяchpasha, это всё красиво пока в теории. и в малом количестве Да нет у Chpasha никакой теории. Банальный паттерн command + паттерн factory. Что тут обсуждать, лично мне вообще не понятно. Если у ТС есть вопросы по реализации, то просьба ТС их более явно сформулировать. Я бы попытался привести пример кода, но у меня новый компьютер и инет за проксей. 180 Mb eclipse уже 3 часа скачаться не могут ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:47 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaтак и какой смысл в сравнении яблок со сливами? У тебя страницы какие-то, у ТС - не понятно что, у меня вообще абстрактный пример решения задачи в общем виде. Причем тут тогда кол-во методов и совместное редактирование одного файла в отрыве от задачи?ты читай всё - 21341559 у него 10 страниц... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:47 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevкогда ссылаетесь на спринг, давайте пожалуйста RTFM на книжку/доку дружище, spring + socket и первая же ссылка на пример, вторая на доку. Leonid KudryavtsevAFAIK спринг он большой и если кто с ним не работал (например я), то примеры и анотации выдернутые из контекста - нифига не понятны (((ну извините. я (повторюсь), с сокетами в спринг тоже не работал, но мне взглянув на пример вполне понятно, что там происходит в общих чертах Сообщение, отправленное по адресу "/hello" попадает в наш метод greeting - т.е. у нас уже из коробки роутинг (по сути предмет этого топика) и конвертация json -> dto. Далее мы возвращаем другой dto который в свою очередь снова превращается в json и улетает всем подписчикам вадяэто всё красиво пока в теории. и в малом количестведа-да, spring для hello world, твой велосипед для дела - строго в таком порядке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:58 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
вадяchpashaтак и какой смысл в сравнении яблок со сливами? У тебя страницы какие-то, у ТС - не понятно что, у меня вообще абстрактный пример решения задачи в общем виде. Причем тут тогда кол-во методов и совместное редактирование одного файла в отрыве от задачи?ты читай всё - 21341559 у него 10 страниц... при чем тут страницы к вебсокету который сллужит сервером? подключатся я буду к этому серверу на каждой странице. На каждой будут свои сообщения. Но сервер должен обрабатывать их ВСЕ, ВСЕ, со всех страниц. Сервер он один для всех страниц. Зачем приплетать другую тему сюда. не пойму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:00 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
вадяты читай всё - 21341559 у него 10 страниц... мне больше заняться нечем. я ответил общим образом на общий вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:00 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaну извините. я (повторюсь), с сокетами в спринг тоже не работал, но мне взглянув на пример вполне понятно, что там происходит в общих чертахценное замечание, дальше можешь не продолжать chpashaСообщение, отправленное по адресу "/hello" попадает в наш метод greetingещё более ценное высказывание... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:00 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaмне больше заняться нечем. я ответил общим образом на общий вопрособщим образом.. куда уж далеее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:01 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaLeonid Kudryavtsevкогда ссылаетесь на спринг, давайте пожалуйста RTFM на книжку/доку дружище, spring + socket и первая же ссылка на пример, вторая на доку. Leonid KudryavtsevAFAIK спринг он большой и если кто с ним не работал (например я), то примеры и анотации выдернутые из контекста - нифига не понятны (((ну извините. я (повторюсь), с сокетами в спринг тоже не работал, но мне взглянув на пример вполне понятно, что там происходит в общих чертах Сообщение, отправленное по адресу "/hello" попадает в наш метод greeting - т.е. у нас уже из коробки роутинг (по сути предмет этого топика) и конвертация json -> dto. Далее мы возвращаем другой dto который в свою очередь снова превращается в json и улетает всем подписчикам вадяэто всё красиво пока в теории. и в малом количестведа-да, spring для hello world, твой велосипед для дела - строго в таком порядке Нет. фреймворки я не использую (пока что). Использую либу для сокетов. Она весьма проста в использовании и не требует ничего сверхъестественного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:02 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
chpashaдружище, spring + socket и первая же ссылка на пример, вторая на доку. ну так я и говорю, хоть url кидайте. А то по анотациям из кода фиг поймешь, из какого места этот пример. По крайне мере, лично мне было не понятно ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:06 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
вадяценное замечание, дальше можешь не продолжать вадяещё более ценное высказывание.. тут ты меня уел вадяобщим образом.. куда уж далеее я должен был на общий вопрос без контекста написать 20 страниц говнокода? извините, учту на будущее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:06 |
|
||
|
Внутренний не статический класс. Верный подход? WebSocket
|
|||
|---|---|---|---|
|
#18+
TsyklopНет. фреймворки я не использую зря, тебе сейчас кажется, что ты экономишь кучу времени, и все такое свое родное, понятное. Но однажды эта экономия вернется и ударит по башке. Ну если конечно ты не уволишься, тогда прилетит уже другому. Например когда уволится вадя, фирму просто закроют Tsyklopне требует ничего сверхъестественного. проекты имеют свойство разрастаться и усложняться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39630861&tid=2122119]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
149ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 263ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...