Чому Сінглтон це погано?

Pratvoloshka.org.ua  » Поради для дому »  Чому Сінглтон це погано?
0 Comments

Один із головних мінусів патерну «Одиночка» — він сильно ускладнює юніт-тестування. "Одиночка" привносить у програму глобальний стан, тому ви не можете просто взяти та ізолювати класи, які покладаються на Singleton.17 Sept 2016

Сінглтон і SOLID O – принцип відкритості/закритості: об'єкти повинні бути відкриті для розширення, але закриті для зміни. Сінглтон порушує даний принцип, оскільки контролює точку доступу і повертає лише себе, а чи не розширення.

Одинак ​​(Singleton, Сінглтон) – патерн, що породжує, який гарантує, що для певного класу буде створено тільки один об'єкт, а також надасть до цього об'єкта точку доступу. Сінглтон дозволяє створити об'єкт лише за його потреби. Якщо об'єкт не потрібен, то він не буде створено.

S (The Single Responsibility Principle) – принцип єдиної відповідальності, тобто один клас вирішує одне завдання і у класу має бути лише одна причина зміни. Якщо клас задає напрямок руху машини, то цей клас не повинен виконувати будь-які інші завдання.