|
|
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Есть абстрактный класс A у него есть конкретные потомки A1 A2 A3 у клиента есть массив ссылок на A (соответственно там могут быть A1 A2 A3) Я хочу произвести действия только над A1(например) Просто слышал, что instanceOf - очень плохо использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 14:07:43 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
instanceof зачастую это затычка, на месте которой лучше использовать полиморфизм (на то много причин, если очень нужно, можно попробовать перечислить). Решается созданием метода в A, и соответствующей его реализацией-переопределением в A1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 14:35:37 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Добрый день, redwhite90! > Есть абстрактный класс A > у него есть конкретные потомки A1 A2 A3 > у клиента есть массив ссылок на A (соответственно там могут быть A1 A2 A3) > Я хочу произвести действия только над A1(например) Примерно так :) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 14:44:10 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90, obj.getClass()==A1.class A1.class.isInstance(obj) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 14:44:27 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90Я хочу произвести действия только над A1(например) по архитектуре) http://www.sql.ru/forum/actualthread.aspx?tid=930725&pg=-1&hl=%f2%e8%ef%20%ea%eb%e0%f1%f1%e0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 14:49:47 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 19:28:09 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, Не понял вашей идеи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 23:40:37 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, У меня есть метод включить(абстрактный). а я хочу чтобы у меня была возможность включить только приборы класса A1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 23:42:51 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90Blazkowicz, У меня есть метод включить(абстрактный). а я хочу чтобы у меня была возможность включить только приборы класса A1 На абстрактном примере тут можно долго спорить. Раскрывайте конкретику. Если у вас есть метод "включения". И "включать" можно только A1 из списка экземпляров А. То логичный вопрос, откуда вообще взялся список всего насвете, когда нужны только А1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 23:49:07 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Petro123, не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 23:50:26 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, есть класс прибор(абстрактный) приборы делятся по категориям(наследуются от прибора).(световые, тепловые....) ну вот и есть желание одним движением включить все световые или тепловые, то есть нужна проверка на принадлежность классу. я реализовал через Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 23:53:14 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
немножко команду напоминает внешне....но думаю слишком уж тут ее использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 23:54:42 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90есть класс прибор(абстрактный) приборы делятся по категориям(наследуются от прибора).(световые, тепловые....) Где есть? redwhite90ну вот и есть желание одним движением включить все световые или тепловые, то есть нужна проверка на принадлежность классу. Не обязательно. Откуда берутся остальные приборы? redwhite90.getClass().getName() Без конкретики разговор ни о чем. Откуда приборы. Что такое "включить". Никто кроме вас не знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 23:59:09 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90немножко команду напоминает внешне....но думаю слишком уж тут ее использовать Команда нужна чтобы отделить отправителя и получателя и сделать их максимально независимыми. У вас такая задача? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 23:59:50 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90Petro123, не понял там конкретный пример из жизни - выделить Особый класс из списка. Так ведь? Изначально, нет смысла пихать ВСЕ в ОДИН список "массив ссылок на A (соответственно там могут быть A1 A2 A3)" чтобы потом ВЫДЕЛЯТЬ и ПРОВЕРЯТЬ кого то по его ФИО. Так понятно? - Сделай на клиенте 3 списка, чем использовать RTTI. Это ответ в лоб. Так понятно? Тебе сказали - нужна конкретика. Иначе = говнокод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 00:06:42 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Все приборы(световые, тепловые....) наследуются от абстрактного прибора все приборы хранятся в массиве типа прибор(абстрактный) Как сделать так, чтобы пройдясь по массиву можно было запустить только один из предков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 00:08:55 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Petro123, Ну тогда надо делать три цикла или какой то композитный итератор, чтобы прогуляться по массиву, ради одного использования наверное оно того не стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 00:12:26 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90Petro123, Ну тогда надо делать три цикла или какой то композитный итератор, чтобы прогуляться по массиву, ради одного использования наверное оно того не стоит Ну, если оно правда одно. То, да. Сделать и забыть. Если проект ещё годы развивать. То стоит подумать. И конечно же гетерогенная коллекция всегда плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 00:27:25 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Добрый день, redwhite90! > есть класс прибор(абстрактный) > приборы делятся по категориям(наследуются от прибора).(световые, > тепловые....) Код: sql 1. 2. 3. 4. 5. > ну вот и есть желание одним движением включить все световые или > тепловые, то есть нужна проверка на принадлежность классу. Код: sql 1. 2. 3. > .getClass().getName() Очень небезопасно к изменениям. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 09:25:51 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90Есть абстрактный класс A у него есть конкретные потомки A1 A2 A3 у клиента есть массив ссылок на A (соответственно там могут быть A1 A2 A3) Я хочу произвести действия только над A1(например) Просто слышал, что instanceOf - очень плохо использовать Тут явно паттерн visitor, как и указал pasha701. Примерно такой клиентский код: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 10:42:41 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
ivanraredwhite90Есть абстрактный класс A у него есть конкретные потомки A1 A2 A3 у клиента есть массив ссылок на A (соответственно там могут быть A1 A2 A3) Я хочу произвести действия только над A1(например) Просто слышал, что instanceOf - очень плохо использовать Тут явно паттерн visitor, как и указал pasha701. Примерно такой клиентский код: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Работать не будет, doSomething(A value) будет всегда вызываться. Вот этого метода doSomething(A value) и не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 10:48:01 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 10:49:03 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Blazkowiczinstanceof зачастую это затычка, на месте которой лучше использовать полиморфизм (на то много причин, если очень нужно, можно попробовать перечислить).очень нужно, взял блокнот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 11:39:14 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
0FDРаботать не будет, doSomething(A value) будет всегда вызываться. Вот этого метода doSomething(A value) и не должно быть. Согласен, написал чересчур коротко и как следствие неточно. Вот рабочий пример Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Весь фокус в перегрузке методов в Visitor и переопределении accept в нужных классах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 11:59:05 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
ivanra, Визитор не убирает необходимость проверки особого класса или объекта. Он просто убирает все проверки в лапше-коде внутрь одного класса. Т.е решений всего 2. Либо особые флажки в модели либо RTTI IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:19:11 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
grasoff.netочень нужно, взял блокнот Негодяй. :) Конечно иногда мы не может сделать рефакторинг, так как не владеем класами. Например это коллекции или обертки примитивов. Поэтому далее предполагаем что мы проверяем собственные классы. В растущем проекте. (А мы всегда предполагаем что проект растет) Код вида Код: java 1. 2. 3. часто превращается в Код: java 1. 2. 3. 4. 5. 6. Следующим шагом говнокодинга становится то что этот код у нас появляется уже не в одном месте. А в двух и более. А вот если мы уносим его в иерархию, то автоматически увеличиваем возможность переиспользования . Второе, это то что рафакторить-двигать методы по иерархи вверх-вниз достаточно просто. А то время как зарефакторить лесенку if...else труднее, особенно если кто-то туда домешал дополнительных условий. Код на полиморфизме проще модифицировать. Ну, и третье, хотя, возможно, и не последнее это читаемость . С полиморфизмом в конкретном классе у нас есть небольшой конкретный метод. В случае лесенки instanceof приходится охватывать взглядом сразу несколько вариантов и искать нужный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:20:23 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
ivanra0FDРаботать не будет, doSomething(A value) будет всегда вызываться. Вот этого метода doSomething(A value) и не должно быть. Согласен, написал чересчур коротко и как следствие неточно. Вот рабочий пример Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Весь фокус в перегрузке методов в Visitor и переопределении accept в нужных классах Повторюсь, РАБОТАТЬ НЕ БУДЕТ. ПОТОМУ ЧТО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:28:11 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
0FD, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:29:27 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
ivanra, и какие тут бенефиты от визитора? в сравнении с обычным методом и его переопределением? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:31:59 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Открываем хотя бы википедию и смотрим что даёт Visitor. Его задача реализовать РАЗНЫЕ операции над разным элементами. Причем основное достоинство в том что много разных операций разделяются на разные визиторы с общим интерфейсом. В данной же задаче есть единственный тип и, пока, единственная операция. Для каждого типа свой Visitor будет. 8) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:37:41 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Blazkowiczivanra, и какие тут бенефиты от визитора? в сравнении с обычным методом и его переопределением? Ну, фактически, визитор и есть завуалированное переопределение, только в самом классе метод переопределяется шаблоном, а все полезные действия выносятся в перегруженный метод визитора. В примере всё работает благодаря методу, переписанному под копирку Код: java 1. 2. 3. 4. 5. Фактически, это означает, что в рантайме класс A1 вызовет метод с сигнатурой visitor.doSomething(A1), вот и весь фокус. 0FD : пример рабочий, скопируйте и запустите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:47:37 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Не тратьте время на споры, еще страница и Petro123 все сведет к базе данных)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:51:37 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
javapeckerНе тратьте время на споры, еще страница и Petro123 все сведет к базе данных)) Угу)))) Или к вопросу- почему в java не любят RTTI )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 13:30:35 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 13:35:04 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Blazkowicz +100 Но добавлю что даункастинги если они будут требуют обработки exception что само по себе дорогостоящая штука. instanceof надо полагать работает экономно т.к. генерирует одну инструкцию jvm "instanceof". Тоесть тут как-бы надо подумать а на сколько "дорого" нам обработать неизвестный Object который попал на вход нашего интерфейса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 13:39:38 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Blazkowicz http://www.javapractices.com/topic/TopicAction.do?Id=31 Думаю, по ссылке немного о другом речь. Там говорят, что логику метода нужно определять в самом методе, а не где-то в другом месте, выясняя сначала с помощью instanceof какую именно логику мы должны применить. Думаю, автору вполне подойдёт это Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 14:28:48 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Miha_S7Думаю, по ссылке немного о другом речь. Именно об этом. Miha_S7Там говорят, что логику метода нужно определять в самом методе, а не где-то в другом месте, выясняя сначала с помощью instanceof какую именно логику мы должны применить. Автор темы именно это и делает. Выборку включаемых приборов выясняя применить к нему логику или нет. Опять же, соглашусь с тем что проект и задача сильно абстрактные и в контексте конкретного проекта могут быть другие решения. Miha_S7Думаю, автору вполне подойдёт это Это именно то что автору предложили ещё на первой странице. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. У меня в глазах двоится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 14:36:59 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Как вариант instanceof можно использовать с маркерным интерфейсом. Возможно этот вариант будет некотором компромисом между проверкой на конкретный тип и добавлением метода во всю иерархию. Да и интерфейс не обязательно делать маркерным. Можно в нем объявить метод "включить". Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 14:41:53 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Подумал ещё немного. Всё же я бы отказался от гетерогенного списка и унес логику фильтрации в саму коллецию. Код: java 1. 2. 3. 4. Тогда у нас всегда будет запас оптимизировать коллекцию, если перебор станет слишком дорогим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 15:06:30 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
А если свести instanceof к работе с примитивами (или энумами)? К примеру, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. То есть просто реализовываем аналогичную проверку на принадлежность потомка к нужному типу. Не так универсально, но чуть менее затратно. Хотя, в принципе, вариант с расширением абстрактного класса-контроллера или наследование контроллеров для однотипных девайсов от одного интерфейса выглядит заманчивее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 15:13:33 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
BlazkowiczКак вариант instanceof можно использовать с маркерным интерфейсом. Возможно этот вариант будет некотором компромисом между проверкой на конкретный тип и добавлением метода во всю иерархию. Да и интерфейс не обязательно делать маркерным. Можно в нем объявить метод "включить". Код: java 1. 2. 3. 4. 5. Ну, к примеру 15:42 - мы хотим включить все жалюзи, а остальные девайсы не трогать. Если применять маркерный интерфейс, то мы должны вписать этот интерфейс в код класса. Ок, вписали, сделали, включили. 18:00 - хотим включить все световые приборы. Что делать? Для классов "световых" девайсов тоже интерфейс прописывать? Тогда они и в 15:42 сработают. Не? Или я где-то туплю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 15:45:39 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Miha_S7, Причем тут тип класса в сабже и время? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 16:03:31 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Petro123Miha_S7, Причем тут тип класса в сабже и время? Ну это же, чтобы проиллюстрировать, что классы мы определяем на этапе кодинга. А активировать/деактивировать функциональность метода какого-то класса нам может быть нужно в рантайме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 16:15:48 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Miha_S7Petro123Miha_S7, Причем тут тип класса в сабже и время? Ну это же, чтобы проиллюстрировать, что классы мы определяем на этапе кодинга. А активировать/деактивировать функциональность метода какого-то класса нам может быть нужно в рантайме. Нет. Время в минутах и RTTI т.е. сабж, совершенно разные вещи. Просто вместо маркера от программиста уже есть маркер от компиляторы - пользуйся и не будь конфигурастом. ШУТКА. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 16:24:10 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Есть у меня похожие вопросы. Буду благодарен, если подскажете что-нить красивое. Существует небольшое подобие анемичной модели. Объекты не содержат логики, только состояние. Различные действия с объектами выполняют соответствующие сервисы. В моем примере есть автомобиль и самолет, и соответствующие им сервисы. Так же там есть менеджер сервисов, который должен работать так: клиент( в смысле потребитель услуг моих сервисов) знает о классе объекта, с которым будет работать. Он хочет получить сервис, связанный с этим классом. Для этого он обращается к менеджеру сервисов, и передает ему класс объекта. А менеджер возвращает связанный с ним сервис. Не могу придумать, как избежать в менеджере перебора классов чтобы найти и отдать нужный сервис. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 16:25:09 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
javapecker, Ты просто перевернул с ног на голову. Клиент не работает с объектами. Он вызывает Сервис - как хранимку- сделай то- то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 16:31:00 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Petro123, допустим перевернул, как все-таки быть для этого перевернутого случая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 16:33:26 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Если есть лексическая связь между entitiy и ее интерфейсом контроля то можно привязаться к именам. Plane -> PlaceController, Car->CarController. Ну и дальше через загрузчик классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 16:43:15 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Можно и без имен: намертво привязать класс контроллера внутри класса сущности. И через вызов имплементированного метода сущности-наследника вызывать контроллер. Правда, эти способы не очень хорошо пахнут ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 17:09:45 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Petro123, Клиент не работает с объектами. Он вызывает Сервис - как хранимку- сделай то- то. Ну пусть сделай то-то. Так вот сервис, который может сделать то-то, должен знать с чем это делать и с помощью чего. С чем у него есть, а с помощью чего - это мои сервисы самолетов и машин, и их надо как-то получить, как получают нормальные люди? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 17:13:14 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНегодяй.не я просто ссылку отправить хочу потом кое-кому, чтобы читали штоль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 18:01:47 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90Есть абстрактный класс A у него есть конкретные потомки A1 A2 A3 у клиента есть массив ссылок на A (соответственно там могут быть A1 A2 A3) Я хочу произвести действия только над A1(например) Просто слышал, что instanceOf - очень плохо использовать Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 20:11:50 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
javapeckerНе могу придумать, как избежать в менеджере перебора классов чтобы найти и отдать нужный сервис. есть 2 аспекта. 1. Менеджер, это в некоторм роде API. Т.е. нижний слой программирования. Поэтому - "красиво", там неприменимо. Т.е. вполне нормально делать цикл за несколько-там миллисекунд. OFF 2. Про красивость самого сервисного слоя мы говорили с тобой в августе. Это тут offtop и лично, понимаю этот слой - так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 20:20:28 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Miha_S715:42 - мы хотим включить все жалюзи, а остальные девайсы не трогать. Если применять маркерный интерфейс, то мы должны вписать этот интерфейс в код класса. Ок, вписали, сделали, включили. 18:00 - хотим включить все световые приборы. Что делать? Для классов "световых" девайсов тоже интерфейс прописывать? Тогда они и в 15:42 сработают. Не? Или я где-то туплю? Для каждого действия свой интерфейс, конечно же. Вижу мой подход как раз в вашу задачу вписывается. Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 20:50:33 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
[quot Blazkowicz]Miha_S7 Код: java 1. 2. 3. 4. что за метод byType? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2013, 02:57:35 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90, Идите на темную сторону явы, у нас печеньки ! (с) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. бугагагага (демонический смех) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2013, 11:32:00 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
Озверин, а серьезно? просто я созадю коллекцию, а такого метода не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 03:03:21 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90Озверин, а серьезно? просто я созадю коллекцию, а такого метода не вижу Вы знаете, что такое статические поля, методы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 11:21:45 |
|
||
|
Какие альтернативы есть у instanceOf
|
|||
|---|---|---|---|
|
#18+
redwhite90Озверин, а серьезно? просто я созадю коллекцию, а такого метода не вижу Или вы о авторчто за метод byType?? Скорее всего имелся ввиду "свой" метод, что-нибудь вроде: public class ExArrayList<T> extends ArrayList<T> { public List<T> byType(Class cls) { //формирование листа //... // return list; } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2013, 11:24:22 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2129994]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
92ms |
get tp. blocked users: |
2ms |
| others: | 287ms |
| total: | 489ms |

| 0 / 0 |
