Чем грозит синглтон для БД?

208
12 июня 2017, 23:21

Избавляясь от глобальных переменных, решил ссылаться на PDO объект через промежуточный статический метод.

Сейчас использование БД выглядит так:

# Установка соединения (срабатывает только в первый раз)
DB::set('host','db_name','login','pass');
# Получение PDO объекта для взаимодействия
DB::get();

В классах работающих с БД для уменьшения связанности создаю приватную статическую переменную которой присваиваю DB::get(). Рассчитываю на то, что в случае если способ получения PDO объекта изменится, мне придется сменить только значение этой самой переменной в каждом классе работающем с БД.

Чем плох такой подход и чем он грозит при разрастании проекта? Имеет ли смысл заводить реестр если таких объектов станет больше двух-трех?