Очарование Синглтона

Чтобы получить основы синглтона, пожалуйста, прочитайте мой предыдущий блог по следующей ссылке.



Для начала давайте посмотрим, как выглядит синглтон.

Прежде чем перейти к реализации, сначала напомним определение синглтона;

Определение синглтона

«Шаблон Singleton гарантирует, что у класса есть только один экземпляр, и обеспечивает глобальную точку доступа к нему». — Эрик Фриман, Элизабет Фриман, Кэти Сьерра, Берт Бейтс Head First Design Patterns

Цели, которые необходимо реализовать:

  1. Один экземпляр
  2. Создание экземпляра должно быть ограничено только конкретным классом singleton.
  3. Обеспечить глобальную точку доступа к созданному экземпляру

Выполнение

1. Нетерпеливое воплощение

Следующий код для нетерпеливого подхода будет подробно обсуждаться в последней части.

‹script src=""https://gist.github.com/KushaniAmarabandu/0ccd6f2acacad0419dca16344cdf322e.js"'›‹/script›

Нетерпеливая инициализация шаблона проектирования Singleton в Java

Строка 3. Я создал готовый одноэлементный экземпляр, чтобы выполнить цель создания энергичного экземпляра. Кроме того, ключевое слово static использовалось для создания общего одиночного экземпляра и частногоkeyword. > был использован, чтобы сделать этот экземпляр видимым только в классе Singleton. Поэтому с этого момента будет только один экземпляр Singleton, видимый в классе Singleton.

Как вы можете заметить, следующий экземпляр был создан при загрузке класса. Просто можно сказать, что он был создан при компиляции кода. По этой причине этот тип инициализации называется энергичной инициализацией.

Строка 5.В этой строке я сделал конструктор этого класса приватным. Тем самым; этот код ограничивает доступ других классов к этому классу и создание экземпляра вне границ класса Singleton.

Строка 9:Чтобы предоставить глобальный доступ для использования этого экземпляра, я создал геттер с ключевым словом public. Поэтому любой, кому это нужно, может вызвать этот метод получения в своем классе и использовать экземпляр синглтона по своему усмотрению.

В следующем коде я покажу, как созданный экземпляр можно использовать в другом классе.

‹script src=""https://gist.github.com/KushaniAmarabandu/74b9b2b23c2a3cf1346f7e94b3c56d2b.js"'›‹/script›

Используйте нетерпеливую инициализацию синглтона

Строка 5. В этой строке созданный экземпляр singleton был вызван с помощью publicгеттера, который я создал ранее. Затем этот объект obj1 можно использовать по своему усмотрению с остальным кодом.

Я надеюсь, что в этом эпизоде ​​вы хорошо познакомились с реализацией шаблона одноэлементного проектирования с использованием нетерпеливого подхода.

Тем не менее, я собираюсь рассказать о ленивом подходе к реализации этого шаблона проектирования в следующем посте этой серии. Пожалуйста, нажмите на следующую ссылку, чтобы оставаться на связи со следующим сообщением.

https://medium.com/@kushanaam/singleton-design-pattern-implementation-lazy-approach-iii-a1c0bccfc69e