Мы рассмотрели множество рабочих вариантов реализации, но на деле их эффективность зависела от конкретной реализации и при определённых условиях требовалась доработка. На этом уроке мы наконец реализуем шаблон проектирования: Синглтон (Singleton).
Дата отправки отчёта:
22 февраля 2019 г.
Задание выполнено: за
2 час. 28 мин.
Чему научился:
Одиночка - это Приватный конструктор (извне экземпляр объекта не создать) Экземпляр объекта хранится внутри объекта (коробка в коробке) Статичный метод getInstance():Singlton используемый для доступа к единственному экземпляру
======================
-В классе Config.java удалили все статики за ненадобностью
-Удалили конструктор, запускающий метод load
---------------------- +Объявили экземпляр класса с названием instance Инициализировали его значением null cо static
+Создали приватный конструктор, запускающий метод load
+Создали статический метод возвращающий экземпляр объекта getInstance И СОЗДАЮЩИЙ ЕДИНОЖДЫ НОВЫЙ ЭКЗЕМПЛЯР КЛАССА CONFIG ЛИШЬ В СЛУЧАЕ ЕСЛИ ЭКЗЕМПЛЯР КЛАССА CONFIG == NULL
В классе Config единственным доступным статическим методом стал Config.getInstance()
Как создать: хранить экземпляр класса в приватной статической переменной
инициализировать его через метод getInstance и сохранять в статической переменной, а если она была создана раньше, то вернуть ее определить метод __construct в private и определить в нем логику создания instance
определить метод клонирования объекта как private ===========
Зачем: общая точка доступа к внешнему ресурсу
проще инициализацию, проверку состояния, передачу контекста в приложении
Научился: Шаблону Синглтон Очень часто подобные вещи делал в коде программ/игр, чтобы выделялась память именно тогда, когда это нужно, оказалось, что есть идеальный шаблон для этого, спасибо за уроки, высший пилотаж!