Pull to refresh

Comments 13

Реализация Singleton как всегда неправильная. Вот тут всё подробно расписано.
Не могу согласиться с тем что реализация Singleton в корне не правильная. Проблема данной реализации хорошо известна, и для однопоточного кода пример работает, как мне кажется, на ура. В любом случае, спасибо за комментарий.
Вот вам еще несколько замечаний:
1. Зачем пустой конструктор?
2. Статические поля не должны иметь префикс m
3. Название метода getThis() это просто ужас!
Спасибо.
В данной статье я не пытался изобразить нечто вроде идеально написанного класса. Если вы внимательней прочитаете статью, то обратите внимание на следующее предложение: «Класс по понятным причинам был упрощен и слегка модифицирован, но свою основную функцию он выполняет». Главное — познакомить читателей с возможностью использования такого подхода и я очень даже верю в то, что существует реализация данного класса куда более «правильная» даже в сравнении с той что используется в нашем реальном проекте.
Если же реализация вам ну совсем не нравиться — присылайте свой вариант — я обязательно добавлю его к статье.
> «Класс по понятным причинам был упрощен и слегка модифицирован, но свою основную функцию он выполняет»

Упрощен и небрежно написан — это две большие разницы.

> Главное — познакомить читателей с возможностью использования такого подхода…
Согласен, но гораздо приятнее знакомиться с подходом на примере хорошего кода, а не того, который только и делает что «свою основную функцию выполняет».
Пустой конструктор затем, что private.
Согласен. Пустой приватный конструктор конечно же нужен. Не нужен явный вызов super().
И на закуску ;) Класс должен быть объявлен как final
Уговорили :) Жду от вас «идеальную» реализацию.
Пользователь Tibr любезно поделился приглашением на хабр, и простой комментарий к топику перерос в данную статью.

Что-то я не понял, дык вы же и есть Tibr. Кто кому приглашением то поделился? о_0
Согласен, было понятнее, пока мой комментарий насчет авторства загадочно не пропал (спс НЛО).
Огромное спасибо автору! сегодня обязательно потрачу время и проверю объекты и их коллекции на вшивость.
Видимо никто кроме меня не пользуется этим классом)
У Вас ошибка вот тут
if (index == -1) { names.add(names.getClass().getSimpleName()); }

Надо сделать вот так, полагаю
if (index == -1) { names.add(className); }
Sign up to leave a comment.

Articles