|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Всем привет! В jar библиотеке есть класс А, который инициализирует класс В. Класс В инициализирует класс С. Класс С должен вызывать метод у класса А. Передавать объект класса А в объект класса С можно последовательно из класса в класс через конструкторы или сеттеры, но получается лишний код, т.к. объект класса В не будет фактически использовать объект класса А. Как правильно передать объект класса А в объект класса С? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:21 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Molasarкласс А, который инициализирует класс Вв доме, который построил Джек. кто на каком стоял? Класс А инициализирует В или В инициализирует А. Лучше бы упрощённый пример кода показал со всеми участниками ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:35 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Ошибку понял) Спасибо. Привожу пример: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Класс С - это слушатель, который по событию должен вызывать method1 у объекта класса А, который первоначальный. Как правильно передать первоначальный объект класса А в объект класса С? chpashaMolasarкласс А, который инициализирует класс Вв доме, который построил Джек. кто на каком стоял? Класс А инициализирует В или В инициализирует А. Лучше бы упрощённый пример кода показал со всеми участниками ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:45 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
MolasarКак правильно передать объект класса А в объект класса С?куча вариантов. - подписка на событие - DI - каллбэк - передать интерфейс от А - добавить класс Е и все у этого класса подписываются на событие. Тогда А и С не знают друг о друге ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:48 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Molasar, Ну и еще вариант, отнаследуй все три класса друг на друге ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 10:53 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Нужен вариант, когда классы А и С не знают друг о друге, возможны подставления других реализаций этих классов. Что значит - добавить класс Е и все у этого класса подписываются на событие? PetroNotC SharpMolasarКак правильно передать объект класса А в объект класса С?куча вариантов. - подписка на событие - DI - каллбэк - передать интерфейс от А - добавить класс Е и все у этого класса подписываются на событие. Тогда А и С не знают друг о друге ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:07 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
MolasarНужен вариант, когда классы А и С не знают друг о друге,это и по теории правильно. MolasarЧто значит - добавить класс Е и все у этого класса подписываются на событие? Класс посредник. Через него все события проходят. Не понятно? Можно самому написать небольшой. Еще DI как раз делали чтобы через конструктор не передавать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:12 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Molasar, Тебе тяжело ответ ставить после цитаты? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:13 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
PetroNotC SharpMolasar, Тебе тяжело ответ ставить после цитаты? Исправился. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:17 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
PetroNotC SharpMolasarНужен вариант, когда классы А и С не знают друг о друге,это и по теории правильно. MolasarЧто значит - добавить класс Е и все у этого класса подписываются на событие? Класс посредник. Через него все события проходят. Не понятно? Можно самому написать небольшой. Еще DI как раз делали чтобы через конструктор не передавать. Не понятно про класс посредник. DI без конструктора вы имеете в виду использование EE или Spring аннотаций? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:25 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
MolasarНе понятно про класс посредник.щас расскажу MolasarDIвзять легковесный фреймворк либу для DI. Профи подскажут. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:35 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Понятно? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 11:43 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Понятно? Данную конструкцию я знаю, но не понятно как использовать ее в моей случае. Класс С это слушатель сообщений из очереди ActiveMQ. В момент инициализации в объект класса С должен быть помещен объект класса А, иначе сообщения посыпятся, а отправлять их не куда. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 12:10 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Molasarобъект класса В не будет фактически использовать объект класса А.а зачем он тогда? Либо он нужен и передай А через него в C, либо не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 12:16 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Molasar Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
сюда нужно добавить использование - main() ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 12:19 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
Molasar, Не бойся конструкторов если тебе нужны не бины EE. Ничего при передаче страшного нет, если структура классов верна. Проверь хелло ворлд на конкретно твои очереди и message-oriented middleware ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 12:31 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
PetroNotC SharpMolasar, Не бойся конструкторов если тебе нужны не бины EE. Ничего при передаче страшного нет, если структура классов верна. Проверь хелло ворлд на конкретно твои очереди и message-oriented middleware Понял. Буду передавать объект А в объект С через объект В, используя конструкторы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 12:48 |
|
Передача объекта в другие объекты
|
|||
---|---|---|---|
#18+
MolasarБуду передавать объект А в объект С через объект В, используя конструкторы.К сожалению на простом примере понятна задача но не понятна архитектура, в частности не очевидно, почему С должен знать про А и вызывать его метод, будучи внутри В. Также не очевидно, почему метод именно в А. Лично на мой вкус данная архитектура попахивает. я бы предпочел в данном случае либо "костыль" в виде какой-то Event Bus, когда C получает сообщение, генерирует событие, а все заинтересованные (А) на него реагируют. Либо С генерит событие, В на него подписывается и при получении вызывает А. Но я бы с удовольствием выслушал другие мнения на это счёт ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2019, 14:11 |
|
|
start [/forum/topic.php?fid=59&msg=39877492&tid=2121064]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
183ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 296ms |
0 / 0 |