Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Singleton / Singleton - Config - Using pattern

  • Мы рассмотрели множество рабочих вариантов
    реализации, но на деле их эффективность
    зависела от конкретной реализации и при
    определённых условиях требовалась доработка.
    На этом уроке мы наконец реализуем
    шаблон проектирования: Синглтон (Singleton).
  • Дата отправки отчёта: 22 февраля 2019 г.
  • Задание выполнено: за 2 час. 28 мин.
  • Чему научился: Одиночка - это
    Приватный конструктор (извне экземпляр объекта не создать)
    Экземпляр объекта хранится внутри объекта (коробка в коробке)
    Статичный метод getInstance():Singlton используемый для доступа к единственному экземпляру

    ======================

    -В классе Config.java удалили все статики за ненадобностью

    -Удалили конструктор, запускающий метод load

    ----------------------
    +Объявили экземпляр класса с названием instance
    Инициализировали его значением null cо static

    +Создали приватный конструктор, запускающий метод load

    +Создали статический метод возвращающий экземпляр объекта getInstance И СОЗДАЮЩИЙ ЕДИНОЖДЫ НОВЫЙ ЭКЗЕМПЛЯР КЛАССА CONFIG ЛИШЬ В СЛУЧАЕ ЕСЛИ ЭКЗЕМПЛЯР КЛАССА CONFIG == NULL

    В классе Config единственным доступным статическим методом стал Config.getInstance()

  • Оценка видео-уроку:
Отчёт от 17947 за Singleton / Singleton - Config - Using pattern


Отчёт от 17947 за Singleton / Singleton - Config - Using pattern




Оцени работу

 
Сохранить страницу:

17947. --
Dmitry Sinitsin
Dmitry Sinitsin
ответить
# Singleton / Singleton - Config - Using pattern / 2019-02-23 11:28

Как создать:
хранить экземпляр класса в приватной статической переменной

инициализировать его через метод getInstance и сохранять в статической переменной, а если она была создана раньше, то вернуть ее
определить метод __construct в private и определить в нем логику создания instance

определить метод  клонирования объекта как private
===========

Зачем:
общая точка доступа к внешнему ресурсу

проще инициализацию, проверку состояния, передачу контекста в приложении

проще управление приложением
===========

Когда нужен:
подключение к БД

класс, инициализирующий настройки приложения, состояние, контекст
===========

Минусы:
нарушает принцип единственной ответственности (проверяет на существование, создает экземпляр, отдает результат)

затрудняет тестирование, т.к. приносит в приложение глобальное состояние

скрытые зависимости
===========


  • Отчёт оценивали:
    9980Timoha+1   3922Александр+1   20167Айдар+1   20545Max+1   791Валерий Жданов+1   11353AlliZzeN+1   19475Konstantin+1   20659no name+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Шаблону Синглтон
Очень часто подобные вещи делал в коде программ/игр, чтобы выделялась память именно тогда, когда это нужно, оказалось, что есть идеальный шаблон для этого, спасибо за уроки, высший пилотаж!


Научился: Реализовал паттерн Singleton в классе Config. Добавил статичный метод getInstance, приватный конструктор Config и приватное поле instance.