|
|
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
На собеседовании задали такой вопрос. Вот так вот просто, без контекста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 17:43 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
С подвохом вопрос, если их использовать "плохо", то зачем бы их стали создавать? Тут я бы просто ответил, все, что знаю про них, где и когда их уместно использовать, все по учебнику, короче. Также важно, что на static-методы не распространяется полиморфиз, поэтому их часто используют в final-классах. Ну и все в таком духе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 18:33 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
В таких вопросах, видимо, надо ответить то, что предполагает услышать за ответ автор. По всей видимости, надо рассказать о случаях, когда такое - плохо. скорей всего, имеется в виду, что если метод не статический, то ему можно подсунуть другой обьект с другой реализацией, а если зовешь статический - то такого не сделать. Подсуньте, например вместо Math.sin реализацию, которая бы дополнительно к вычислению синуса считала, сколько раз ее позвали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 18:49 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
chabapok... По всей видимости, надо рассказать о случаях, когда такое - плохо. ... Это и имелось ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 18:56 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Паша01С подвохом вопрос, если их использовать "плохо", то зачем бы их стали создавать? Тут я бы просто ответил, все, что знаю про них, где и когда их уместно использовать, все по учебнику, короче. Также важно, что на static-методы не распространяется полиморфиз, поэтому их часто используют в final-классах. Ну и все в таком духе. А что не-static методы нельзя использовать в final-классах??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:15 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Именно методы? Вопрос "почему" не является корректным. Более точным вопросом было бы "Когда...", или "В каких случаях..." Есть масса примеров, когда без статических методов не обойтись. А на собеседовании, конечно же стоило рассказать и про полиморфизм и про состояние, а так же единение данных с поведением и прочее ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:26 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, а что про состояние такого рассказать можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:32 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczumka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Именно методы? Вопрос "почему" не является корректным. Более точным вопросом было бы "Когда...", или "В каких случаях..." Есть масса примеров, когда без статических методов не обойтись. А на собеседовании, конечно же стоило рассказать и про полиморфизм и про состояние, а так же единение данных с поведением и прочее ООП. Ну мне как-то даже и в голову не приходило связывать static и полиморфизм (про статический полиморфизм только сейчас узнал). А можно подробнее о: 1. автор...и про состояние, а так же единение данных с поведением и прочее ООП... 2. Хотя бы пару из "массы примеров"? Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:37 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_max, umka_maxпро статический полиморфизм только сейчас узнал мне расскажешь? я никогда таких буквосочетаний не встречал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:50 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_max2. Хотя бы пару из "массы примеров"? Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :) Можно часто столкнуться с ситуацией, что какой-то новый метод не понятно куда бы запихать и тогда его от безысходности пихают в MyBusinessLogicHelper и используют из других методов. Такой метод принимает какие-то объекты, и оперирует их состоянием, нарушая всяческую инкапсуляцию. Так возникает Anemic Domain Model. При правильном дизайне логика находится как можно ближе к состоянию, которым она оперирует. И статические методы имеют право на жизнь лишь в некоторых ограниченных сценариях вроде фабрик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:58 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
questionerumka_max, umka_maxпро статический полиморфизм только сейчас узнал мне расскажешь? я никогда таких буквосочетаний не встречал Не, не расскажу! :) Ну может выразился не правильно. Просто в поиске по форуму наткнулся на обсуждение. http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1082308&msg=15716633 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=740602&msg=8451858 Это еще один вопрос к уважаемому Blazkowicz будет. ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 20:00 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
questionerмне расскажешь? я никогда таких буквосочетаний не встречал Not static, not final, not private методы являются виртуальными. Вызов нужного метода определяется в рантайме "динамически". Статический же полиморфизм это, полиморфизм разруливающийся в compile-time - method overload, hiding для static методов и полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 20:03 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 20:05 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczumka_max2. Хотя бы пару из "массы примеров"? Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :) Можно часто столкнуться с ситуацией, что какой-то новый метод не понятно куда бы запихать и тогда его от безысходности пихают в MyBusinessLogicHelper и используют из других методов. Такой метод принимает какие-то объекты, и оперирует их состоянием, нарушая всяческую инкапсуляцию. Так возникает Anemic Domain Model. При правильном дизайне логика находится как можно ближе к состоянию, которым она оперирует. И статические методы имеют право на жизнь лишь в некоторых ограниченных сценариях вроде фабрик. Ну это, как бы, само собой разумеется. :) Просто как-то даже и в голову не приходило, что в таком ключе могут вопрос поставить. Вот и вводят такие вопросы в ступор. А по первому пункту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 20:09 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их ввели или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 21:17 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
maytonumka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их ввели или как? Ну вот и мне интересно "зачем" они нужны? ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 21:29 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxmaytonпропущено... Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их ввели или как? Ну вот и мне интересно "зачем" они нужны? ))) Ты использовал когда-нибудь Math ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 21:33 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
maytonumka_maxпропущено... Ну вот и мне интересно "зачем" они нужны? ))) Ты использовал когда-нибудь Math ? Использовал. И? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 21:48 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxmaytonпропущено... Ты использовал когда-нибудь Math ? Использовал. И? Использовал и так и не понял почему там static методы. Ну попробуй представить как-бы ты работал с синусами каждый раз создавая экземпляр объекта который никому не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 22:14 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
maytonumka_maxпропущено... Использовал. И? Использовал и так и не понял почему там static методы. Ну попробуй представить как-бы ты работал с синусами каждый раз создавая экземпляр объекта который никому не нужен. Таким образом, static-методы нужны для работы с "синусами"? Осталось ответить на более общий "вопрос-провокацию": авторЗачем вообще в java существуют static-методы? По ошибке их ввели или как? Ну вот прям буквально ответить, не задавая встречных вопросов. Я это все к чему... Я не придуриваюсь, а просто хочу выяснить правильно ли понимаю предмет. Ну и заодно понять за каким хером интервьюер задает такие вопросы, которые нужно уточнять? ))) Мне, в принципе, и этого 15938045 хватило. Плюс "синусы", конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 22:33 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_max, авторЗачем вообще в java существуют static-методы? По ошибке их ввели или как? Навскидку как минимум 2 случая: 1. Реализация паттерна "Singleton" (возможно самый показательный) 2. Утилиты для работы, к примеру, со строками или датой, где инстанцирование конкретного экземпляра в принципе не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 11:20 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Кто прогал на Сях тот даже не задаёт подобных вопросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 11:23 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
organismНавскидку как минимум 2 случая: 3 случай - это запуск программы, метод main! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 13:41 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
native вызовы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 21:01 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. ИМХО, тот, кто спросил скорее всего сам вчера-позавчера вычитал где-нибудь : ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 22:02 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. На какую позицию собеседование? На сеньора, к примеру, этот вопрос позволяет показать своё чувство красивого. Если оно покажется несовместимым- то это минус. Просто чтобы потом не ругаться :) Я порассуждал бы на тему кривости идеи запуска программы через main и объектов Scala. На регуляра- это скорее вопрос "когда можно и нельзя использовать статик методы", типа того же Math. Можно спросить почему random можно сделать не статическим :) На юниора- без подковырок- Math, main и virtual, плюс то, что static- не ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 22:16 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_max, Сейчас модно инжектить (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2014, 00:03 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Usmanumka_max, Сейчас модно инжектить (: Так говорят те, кто не понимает зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2014, 09:32 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczUsmanumka_max, Сейчас модно инжектить (: Так говорят те, кто не понимает зачем? Инъекции- очень сложный инструмент. При неправильном использовании сносит мозги напрочь. Просто когда возникает вопрос "а что сюда будет вставлено", то ответить на него очень сложно. С другой стороны- если этот вопрос возникает, значит где-то ошибка дизайна :) И на пути "что это за хрень", "о! давайте везде использовать", "ааааа! оно взрывает мне мозг", "ага, вот как надо" легко на третьем пункте споткнуться и возненавидеть саму идею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2014, 09:53 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Alexey TominИнъекции- очень сложный инструмент. Нет. Alexey TominПри неправильном использовании сносит мозги напрочь. В чем заключается неправильное использование? Alexey TominПросто когда возникает вопрос "а что сюда будет вставлено", то ответить на него очень сложно. Никогда не замечал. Alexey TominС другой стороны- если этот вопрос возникает, значит где-то ошибка дизайна :) Это с DI никак не связано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2014, 12:05 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczUsmanumka_max, Сейчас модно инжектить (: Так говорят те, кто не понимает зачем?Ну, почему же... До недавнего времени был любителем всяких Helper/Utils "static" классов (с набором статических методов). И на очередном этапе проектирования осознал, что это не совсем удобно - теряется гибкость. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2014, 15:16 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Нипочему. Потому что это не плохо. И не хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2014, 15:24 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Alexey Tominumka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. На какую позицию собеседование? На сеньора, к примеру, этот вопрос позволяет показать своё чувство красивого. На сеньора на такие вопросы отвечать не нужно. Нужно до собеседования узнать о чём будет речь, что за спец (какого левела) будет с вами разговаривать и послать нах заранее если подстава. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 08:59 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAlexey TominИнъекции- очень сложный инструмент. Нет. Временами появляющаяся статьи "это DI только всех запутывает" говорит, что там есть обо что споткнуться. BlazkowiczAlexey TominПри неправильном использовании сносит мозги напрочь. В чем заключается неправильное использование? Реальная зависимость оказывается больше, чем указанный интерфейс. Если при обычном (вызов конструктора руками) использовании легко выяснить, кто тут будет, то DI затрудняет ответ на этот вопрос. Но, по-хорошему, этого вопроса не должно возникать. BlazkowiczС другой стороны- если этот вопрос возникает, значит где-то ошибка дизайна :) Это с DI никак не связано.[/quot] Просто DI проявляет эту ошибку. Без него с ней живут годами, не замечая источника проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 11:43 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Alexey TominВременами появляющаяся статьи "это DI только всех запутывает" говорит, что там есть обо что споткнуться. Таких статей бывает два вида. Либо написаны нубами и не выдерживают никакой критики. Либо написаны экспертами с четким разделением достоинств и недостатков, в которых достоинства всегда более убедительные. Alexey TominРеальная зависимость оказывается больше, чем указанный интерфейс. Если при обычном (вызов конструктора руками) использовании легко выяснить, кто тут будет, то DI затрудняет ответ на этот вопрос. Но, по-хорошему, этого вопроса не должно возникать. Loose coupling. Вопрос должен возникать и это резонно. Но я не могу понять откуда берется проблема определенние экземпляра. Alexey TominПросто DI проявляет эту ошибку. Без него с ней живут годами, не замечая источника проблем. Это тоже к DI отношения не имеет. Люди годами пишут говнокод не замечая проблем. Люди такие люди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2014, 11:49 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2127267]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
81ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 412ms |

| 0 / 0 |
