Одиночка
Одиночка

Вы же знаете, что живёт такой паттерн - Singleton, он же Одиночка?

«Да, конечно!», - воскликнут одни.

«Хренасдва!», - возразят им другие. И тут же добавят, «Это не паттерн, а самый что ни на есть антипаттерн!».

И кто тут прав? Может быть обе стороны, а может быть обе не правы. Да и хрен с ними, если честно, чума на оба их дома.

Когда-то четыре смелых чувака решили собрать «любимые» паттерны в одну книгу и описали их. И люди приняли их, и сказали, что это прекрасно. Добрую четверть века на каждом техсобесе, каждого уважающего себя разраба спрашивали (и продолжают спрашивать) про паттерны. Такая, своего рода система «свой/чужой».

Одним из этих паттернов «был» и Одиночка. Хороший паттерн, всем своим существом направленный на созидание, а не на разрушение. Эгоистичен он слегка, конечно, но кто не без греха? Пусть он не строит большие и сложные объекты, как Строитель, пусть не рождает гибких и короткоживущих химер, как Фабрики. Но он уникален, он такой один!

Но время и разрабы безжалостны. По истечению нескольких лет всё чаще раздаются выкрики, что паттерн не настоящий и даже вредный.

Ненастоящий?
Ненастоящий?

За что?! Что он вам сделал?! Это же добрейшее виртуальное существо, он создаёт что-то новое, которое живёт столько же, сколько живёт программа. И вместе с ней умирает. В тот час, когда приложуха крутится на сервере без пользователей, где-то в оперативной памяти собираются такие вот Одиночки и философствуют на разные темы и делятся друг с другом своими сокровенными мечтами.

Сперва без Одиночки жить было просто нельзя. Но потом появились контейнеры IoC, в которых появилась своя расово-правильная замена Одиночки – это объекты с временем жизни Singleton. И классический Одиночка перестал быть нужен совсем.

И это печально, товарищи. Я призываю вас, давайте не дадим вымереть краснокнижному программному существу. Взываю к вашему разуму и доброму сердцу. Вы же все за всё хорошее и против всего плохого. Мы в ответе за тех, кого накодили.

Давайте каждый из нас добавит в свой проект хотя бы одного простого Одиночку. И пусть он даже ничего не делает, пусть просто живёт где-то в углу кучи. Пусть он буден на столько простой и маленький, что не будет есть много памяти и процессора. Он же не навредит, он добрый. 

А кто накодит лейзи-одиночку, но так и не проинициализирует его, того пусть пусть не пощадит Великий Рандом. Ибо сердца у вас нет.

P.S. Вспомнился мне на днях старый текст на тему «Экономьте гуиды, они не бесконечны». Говорят, что интернет ничего не забывает, но я что-то не нашёл тот текст, да и не старался искать. Он был прекрасен. Столько лет прошло, но до сих пор вспоминается частично.

Комментарии (3)


  1. rozhnev
    30.10.2023 10:38

    Чё?


  1. Alex_Diamond
    30.10.2023 10:38

    Чё?


  1. 7Euro
    30.10.2023 10:38

    Чё?