Закрепляем паттерн Singleton

  • 16
  • Недоступна
Разберёмся с паттерном Singleton на примере светила и планет солнечной системы. Для начала займитесь поиском и найдите где-нибудь в интернете пример "ленивой" реализации Singleton и создайте по образу и подобию три Singleton-класса: Sun, Moon и Earth. Затем реализуйите в них интерфейс Planet. И проделайте ещё парочку операций.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (215)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
QQQwertYy900015 уровень, Замусральск
вчера, 23:39
Чем дальше в задачи, тем больше войны с валидатором.
Xwishf16 уровень
среда, 18:25
Статья с примерами - Реализация Singleton в JAVA. В нашем случае нужен именно первый вариант реализации, так как по условию "5. Поле instance должно быть инициализировано после первого обращения к методу getInstance, но не раньше."
Евгений17 уровень, Екатеринбург
26 июня, 14:14
Обратите внимание: Валидатор пропускает:
if(instance==null) {
            instance = new Sun();
            return instance;
        }
        return instance;
И не пропускает:
if(instance==null) {
            return new Sun();
        }
        return instance;
Это разве не одно и то же?
Yungaa15 уровень, Самара
28 июня, 10:42
В классе должен быть реализован публичный статический метод getInstance возвращающий значение поля instance. Во втором случае у тебя отработает только первые две строки и ты создашь новый экземпляр класса, а в поле instance у тебя ничего записано не будет. И на сколько я понял таким образом Singleton не будет работать и ты каждый раз будешь создавать новый экземпляр класса. Поле instance и требуется , чтобы при первом вызове метода getInstance мы проинициализировали его один раз объектом нашего класса и больше оно не менялось.
Alexander Kolesnik16 уровень, Москва
20 июня, 18:07
c 8 попытки, потому что сделал статическое поле класса Solution:
static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
выдавало ошибку по пункту -Метод readKeyFromConsoleAndInitPlanet должен корректно обновлять значение переменной thePlanet в соответствии с условием задачи. Валя в своём репертуаре.......
Igor Tarasov18 уровень, Свободный, Белебей
20 июня, 00:43
public void zanudaModeON() { System.out.println("Луна и солнце не планеты"); }
kolomimber1317 уровень
13 июня, 14:39
Не могу выполнить Условие в пункте 1 при решении задачи - не могу найти поисковик "например google". Что делать?
Борис Скворцов17 уровень, Киев
16 июня, 06:29
У меня для тебя плохие новости
kolomimber1317 уровень
17 июня, 07:55
Пробовал из фразы "например google" убрать "google", но тоже безрезультатно...
Alukard19 уровень, London
10 июня, 16:30
Задача понравилась. На данный момент Всего эту задачу решили 22571 учеников.
Yulia25 уровень
31 мая, 20:34
Валидатор принял с 5й попытки абсолютно правильное решение, потому что в IDEA случайно добавился какой-то левый импорт Plane.
Timur18 уровень, Казань
22 мая, 14:10
c 3 попытки тк обернул в классах все переменные сразу в Planet и возврат из функций типом Planet. не повторяйте мои ошибки)
Vitalachka20 уровень, Лондон
14 мая, 18:12
Задача понравилась, Singleton'ы разные варианты