Возможный дубликат:
Кому нужны синглтоны?
Я всегда пишу в отношении лучшей практики, но я также хочу понять, почему данная вещь является лучшей практикой.
Я читал в статье (я, к сожалению, не помню), что классы singleton предпочтительнее создавать, а не создавать статические функции и получать доступ с помощью оператора разрешения области (::). Поэтому, если у меня есть класс, содержащий все мои инструменты для проверки, короче:
class validate {
private function __construct(){}
public static function email($input){
return true;
}
}
Мне сказали, что это считается плохой практикой (или, по крайней мере, предостерегаемой), из-за таких вещей, как сборщик мусора и обслуживание. Так что критика "singleton class as static methods" хочет, это то, что я создаю экземпляр класса. Я на 100% уверен, что когда-нибудь создам экземпляр. Мне кажется, что я делаю "двойную работу", потому что там все готово. Что мне не хватает?
Какое мнение по этому вопросу? Конечно, это не проблема жизни и смерти, но, возможно, так же хорошо, если опция есть:)