|
|
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
В PHP имеются несколько методов классов типа __call() __callStatic(), к которым переходит управление в случае, если вызываемый метод в самом классе отсутствует. Это позволяет прозрачно создавать "виртуальные" методы для ORM, например, для связей один-к-одному и так далее. Можно ли что-то похожее создать на Java ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 07:27 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Герой дня, Таких методов нет, можно делать через аннотации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 08:08 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Герой дня, Они так и называются? "магические" ? В самом языке Java такого нет. Но в JVM есть схожая инструкция invokedynamic. Она была добавлена в байт-код как раз для того чтобы подобные механизмы поддерживать для скриптовых языков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 09:28 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, в пхп так и называются - https://php.net/manual/ru/language.oop5.magic.php ясно.. интересно, а что делать, если имеется большое желание не определять все методы и не пользоваться аннотациями ? оставить java за скобками ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 15:31 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Герой дняBlazkowicz, в пхп так и называются - https://php.net/manual/ru/language.oop5.magic.php ясно.. интересно, а что делать, если имеется большое желание не определять все методы и не пользоваться аннотациями ? оставить java за скобками ? Если хочется использовать динамический язык, то надо его и использовать. jython , например. Для jvm есть ещё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 16:05 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, понятно.. спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 16:15 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Герой дняясно.. интересно, а что делать, если имеется большое желание не определять все методы и не пользоваться аннотациями ? оставить java за скобками ? Изучать 100500 языков для JVM: Scala, Groovy, Kotlin, Ceylon, Xtend, Clojure и прочие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:03 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Герой дня, А может просто наследоваться, не? Что хочется сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:20 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
GregTkГерой дня, А может просто наследоваться, не? Что хочется сделать? Хочется вызывать методы, определяемые в рантайме. В Java как статически типизированном языке такого нет. Либо кодогенерация. Либо скриптовые языки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:33 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да.. кодогенерация остается, про неё забыл.. хочу создавать в веб-интерфейсе новые объекты БД и определять связи между ними точнее - в пхп уже реализовал, планирую сделать это в java версии продукта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 04:14 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Герой дняда.. кодогенерация остается, про неё забыл.. хочу создавать в веб-интерфейсе новые объекты БД и определять связи между ними QueryDSL и jOOQ уже умеют это делать вместо тебя. Последний приятнее в API, но у него больше ограничений в лицензии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 09:33 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спб, изучаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 11:20 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Герой дня, посмотри на java.lang.reflect.InvocationHandler ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 11:05 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Герой дня, Можно создавать классы, потом их компилить и подгружать налету через classloader. Это как направление, нужно конечно смотреть в деталях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 11:11 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
GregTkГерой дня, Можно создавать классы, потом их компилить и подгружать налету через classloader. Это как направление, нужно конечно смотреть в деталях. Э-э-э. Компилить, ведь, не выйдет, если верификации не отключить. Ну, lombok, вроде, что-то подобное делает. Тут основная проблема в том что поддержка IDE может отсутствовать напрочь. Для lombok, то сделали плагины. А для своего велосипеда плагина уже не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 11:14 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, как их компилить вопрос второй, но ведь реально никто не мешает сделать классы новые и загрузить их в работающее приложение. По ним можно и создать таблицы в БД и связи настроить, в общем полный фарш, я так понимаю ТС хочет сделать некий конфигуратор моделей через веб морду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2015, 09:27 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
GregTk, А через некоторое время понимаешь, что WEB морде геттеры и сеттеры не нужны, и вся модель по сути представляет собой Два Map (1 на данные, а 2 на мету). :) И нафига компилить разные классы на сервере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2015, 12:20 |
|
||
|
Магические методы в Java
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевGregTk, А через некоторое время понимаешь, что WEB морде геттеры и сеттеры не нужны, и вся модель по сути представляет собой Два Map (1 на данные, а 2 на мету). :) И нафига компилить разные классы на сервере? вот полностью за! так и надо делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2015, 13:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38899428&tid=2125695]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
190ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 539ms |

| 0 / 0 |
