• Самый лучший Singleton

    Из всех существующих на момент написания этого поста реализаций шаблона Singleton (одиночка) мне больше всего нравится эта: public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() {} /** * SingletonHolder is loaded on the first execution of Singleton.getInstance() * or the first access to SingletonHolder.INSTANCE, not before. */ private static class SingletonHolder { private static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return SingletonHolder.INSTANCE; } } Эту реализацию придумал  Bill Pugh. Это гениальный и очень простой способ. При помощи элегантного использования внутреннего класса Вы получаете ленивый (объект Singleton не инициализируется…

    Читать далее…

  • Книги о программировании

    Cписок книг,  которые возможно будут интересны другим программистам Эти книги не являются учебным пособием по какому-то конкретному языку программирования, в них практически нет больших листингов кода, описания API и другой технической информации. В них можно научится другому — интуитивному пониманию вещей, осознанности своих действий. Чтение таких книг может изменить Ваш подход и отношение к программированию. Обучение новому языку программирования или технологиям  превратится из  вызова, испытания воли и интеллекта,  в процесс аналогичный изучению инструкции от нового телевизора или сборки IKEA-вского шкафа. Вы учитесь не столько самому программированию, сколько КАК надо программировать, учиться, жить.  Вы начинаете постигать дао программирования. Итак, приступим к…

    Читать далее…

  • Как рисовать UML диаграммы классов

    Диаграмма классов Архитекторы разговаривают на языке UML. Это такая своеобразная программистская латынь. Старый язык, но который до сих пор используют в определённых кругах. Использовать его напрямую для написания программного кода очень неудобно, а вот для описания архитектуры вполне подходит. Нарисовал диаграмму и стало понятней, что к чему. Поймёт дельфист, жаваист, сишник, питоньшик, сишарпер, рубист, в общем, все, кто изучал ООП. Центральное место в UML занимают диаграммы классов. Это букварь. В интернете можно найти огромное количество информации о диаграммах классов (структура, обозначение классов, интерфейсов, атрибутов, отношений и т. д.), но при этом относительно мало информации о том, как осуществлять само проектирование. Выучить как рисовать стрелочки и прямоугольники — несложно,…

    Читать далее…