Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Singleton vs Static members
|
|||
|---|---|---|---|
|
#18+
softwarer NotGonnaGetUsИмеет прямое отношение. Аналогия: класс все поля, которого паблик. Забавно: Вы сказали ровно то же, что и я ("Команда профессионалов может быть и сможет вытянуть плохо спроектированное решение, но дизайн от того хорошим не станет."), но оформили так, словно возразили. ************************************************************** Модератор: отредактировано Восстанавливаем хистори: Код: plaintext 1. 2. 3. Не существует бинарного критерия - это хорошо/это плохо. Я обозначил один из них. Код: plaintext 1. 2. 3. Вы отвергаете мой критерий. Обоснование не понятно. Вводите другой критерий. Код: plaintext 1. 2. 3. 4. 5. Т.к. обоснование против моих слов не приведено, я просто выражаюсь против вашего критерия. Контрпример классы с только паблик членами. Потенциально количество связей в них огромно. Однако в хорошей команде, можно построить процесс разработки так, что "реальных" связей будет минимальное количество. Но такое качество можно обеспечить только в очень хорошей команде, а потому через пару месяцев саппорта весь код можно будет выкидывать. Я что-то придумываю? Код: plaintext 1. 2. 3. 4. Ваш ответ мне не ясен. Мы говорили не о хорошем или плохом дизайне, а о вполне явно обозначенных способах определить какое из двух решений лучше. Итого: вы не поняли о чём я толковал. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Тут я повторил пропущенную, из-за казавшейся мне очевидной, часть рассуждений относительно вашего критерия хорошести и команды разработчиков. Всё. Где я "Вы сказали ровно то же, что и я"(с) в упор не вижу. softwarer Итак, формулировка уже съеживается, вместо всеобъемлющей стало "реализации глобального доступа к данным". Я вас конечно люблю, но давайте оставим эти глупые придирки. Я ещё 256 раз вам повторю - статики бэд дизайн - и при этом не буду произносить 65536 if/else описыващих частные случаи, когда нельзя, но всё-таки можно. Вы сами сослались на Мейера. Обратитесь к нему ещё разок, почитайте про его отношения к статикам и варианты, как можно без них обойтись. softwarer OK. Я может быть и придрался бы к формулировке, но по сути ближе к согласию. Если Вы согласны, что изначальное "чаще всего" сводится к этому утверждению, то мы пришли к согласию. Ну и слава богу. softwarer NotGonnaGetUsКривым решнием будет вынести данные на всеобщее обозрение, и в светлом будущем осваивать тонкости русского мата, пытаясь охаратеризовать принятое ранее кем-то умным решенее. Еще раз: если именно так чаще всего применяют статики Ваши коллеги - их, конечно, следует воспитывать. Кроме этого, из этого прискорбного факта ничего не следует. Не надо ещё раз. Почитайте что вы пишите. Код: plaintext 1. 2. 3. Оценка качества кода по количеству "реальных связей". Код: plaintext 1. 2. 3. Констатация недостаточности этой оценки, т.к. она не учитывает будущие изменения, которые учитывает оценка, которую вы назвали ложной и с которой "само по себе" согласитесь в следущем ответе. Код: plaintext 1. 2. 3. 4. 5. Почему "сегодня должно быть принято кривое решение" - не могу знать. softwarer NotGonnaGetUs softwarerЕще раз: ни хрена не нужно отслеживать. Нужно программировать надежно, так, чтобы потребность отслеживать не возникала. О, да. Зарядил, так зарядил. "Нужно" чтобы был мир во всём мире. И что с того? Как этого добится? А это мы уже обсуждали (offtopic поскипан) Речь шла о статиках. Я говорил о том, что статики приводят к более тяжёлому коду, т.к. его труднее исследовать, потому что к статикам доступ имеет больше количество классов из большего количества контекстов. Вместо того, чтобы согласиться или возразить вы перевели тему на "если писать идеально, то всё будет идеально". Как это связано с тем, что я говорил - не знаю. softwarer Прискорбная ситуация, когда человек не понимает сути и тупо-попугайно декларирует слоган. Давайте будем искренне друг с другом. Вы меня называете тупо декларирующим слоган человеком? :) softwarer NotGonnaGetUsА отслеживать нужно. Просто необходимо. Потому что подругому нельзя узнать, как используется какой-то код и какие последствия будут от его изменения, если только перед этим сам его не написал и не выучил при этом на изусть. О! Просто замечательно. Начиная примерно с 65-го года люди думали (много ума пропущено). А как же это "Еще раз: ни хрена не нужно отслеживать" (с) ? То говорите, что не нужно, то говорите, что нужно начиная с 65-го года. Определитесь. softwarer NotGonnaGetUs"Надёжные" классы зависящие от статик членов, придётся все до одного изменить, если окажется, что статик член нуждается в модификации. Полнейший бред. Я бы назвал передергиванием, но такое впечатление, что Вас уже просто занесло и Вы говорите вообще не думая. IoC в вольной трактовке. Можете не обращать внимание. Если мы с вами не можем сегодня договориться о такой простой вещи, как использование статиков там, где их можно не использовать, то тут у нас точно ничего хорошего не получится ) softwarer NotGonnaGetUs softwarer NotGonnaGetUsСюда же добавляются проблемы с многопоточностью. И какие же? На примере вышеупомянутой задачи возврата текущей даты. Кто там, что писал про передёргивания? Я писал. Сможете обосновать наличие передергивания? Или просто считаете таковым каждую дырку в своей аргументации? Да уж. Вы решили дать тормоза по полной. Существует большое количество вариантов, как использовать статик поля и методы. Если статик методы stateless или уже синхронизированы, то проблем не будет. В противном случае придётся позаботиться о синхронизации. В отличии от классов, про объекты которых можно написать в комментарии, что их использование не безопасно в многопоточной программе, статические данные и синглтоны почти всегда используются в контексте многих потоков. softwarer NotGonnaGetUsИтого, читаем: вы говорите, что большое количество классов означет кривую технологию разработки Это прямая и непосредственная ложь. Если вдруг Вы искренне заблуждаетесь, попробуйте прочитать еще раз: Если количество классов велико, необходимость исследовать потенциальные связи Означает кривую технологию разработки, впрочем прискорбно типичную для явы. Ох, вы и фокусник. А предложение вы продолжили с большой буквы для красоты? :)) Даже если склеить эти два предложения получается та же самая ерунда. Необходимость исследовать потенциальные связи есть всегда. Без этого нельзя сделать безопасные изменения. Просто из-за того, что не будет исчерпывающей информации о возможных последствиях этих изменений. softwarer NotGonnaGetUsВы почитайте ещё раз, что я писал. Я не предлагаю ампутировать static'и, я предалгаю не использовать их там, где их можно не использовать и использовать только там, где без них не обойтись. Что ж, давайте таки прочитаем еще раз: А вы читайте всё, а не только сообщения недельной давности. Сегодня я уже трижды, наверное, привёл пояснения своей точки зрения. Если вас продолжает тянуть куда-то в сторону, то явно не от желания придти к взаимопониманию :) softwarer NotGonnaGetUsА меня удивляет как можно из моей фразы вывести вашу про идиотов и java. Запомню и этот прием. Вы создаете такое впечатление, что я как-то связал эти понятия. Ну, я тогда снова за археологию возьмусь. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. Я не вижу у себя нигде логики о который вы толкуете. Поэтому делаю вывод, что вы как-то её вывели из того, что я писал в том фрагменте, который вы цитируете. Проследить ваш вывод не смог, в чём чистосердечно признался. Я говорил о банальностях, которые часто встречаются в ваших ответах (н-р, что "писать код нужно хорошо", что "статики - это иногда хорошо" и т.п.) и не имеют особой ценности, а вы говорите об идиотах и java в одном абзаце. Хотя с тем, что "Java не х...я" - соглашусь :) Вероятно, неудачно было выбрано цитирование. Модератор: не удачно Вами был выбран текст, который я забил звездочками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 21:28 |
|
||
|
Singleton vs Static members
|
|||
|---|---|---|---|
|
#18+
Четал. Понравилось. Согласен с обоими. C уважением Lord Mayton ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2006, 21:28 |
|
||
|
Singleton vs Static members
|
|||
|---|---|---|---|
|
#18+
Все еще жду ответ на свой вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 10:32 |
|
||
|
Singleton vs Static members
|
|||
|---|---|---|---|
|
#18+
nggu...Речь шла о статиках. Я говорил о том, что статики приводят к более тяжёлому коду, т.к. его труднее исследовать, потому что к статикам доступ имеет больше количество классов из большего количества контекстов... М-да уж, погрязнуть в словестном водопаде взаимного оверквотинга - лучший стиль местных форумных дискуссий... Так все-таки, уважаемые softwarer и nggu , не могли бы вы более детально и адресно обсудить конкретную проблему: почему доступ N классов из M контекстов к статическому методу (getInstance()) общедоступного (public) синглтона лучше/хуже (правильнее/бэддизайнее) доступа тех же самых N классов из тех же самых M контекстов к общедоступному (public) статическому члену любого другого класса, который не синглтон? (N и M, понятное дело - равны бесконечности). З.Ы. ***************************************************************8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2006, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34148361&tid=1346437]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 262ms |
| total: | 488ms |

| 0 / 0 |
