Порождающие шаблоны: Улучшенный Пул одиночек

Продолжим разработку вариантов реализации Пула одиночек, начатую в прошлой части. Поставим задачу сделать простым использование шаблона с уже существующими классами. Кроме того, добавим несколько новых возможностей.

Читать дальше...

Порождающие шаблоны: Отложенная инициализация

Название шаблона

Отложенная (ленивая) инициализация (Lazy initialization).

Тип

Порождающий шаблон проектирования (Creational).

Читать дальше...

Порождающие шаблоны: Инициализация при получении ресурса

Название шаблона

Инициализация при получении ресурса (Resource Acquisition Is Initialization или RAII).

Тип

Порождающий шаблон проектирования (Creational).

Читать дальше...

Использование ключевого слова yield

Не часто приходится использовать ключевое слово yield. Обычно про него вспоминают при создании класса, реализующего интерфейс IEnumerable. Давайте разберемся, зачем оно нужно и как работает. А так же выясним, всегда ли надо разрабатывать класс для указанного выше интерфейса.

Читать дальше...

Разделители компонентов даты и времени

Можете ли вы сказать, что выведет на консоль следующий код?

DateTime dt = new DateTime(2010, 10, 15);
Console.WriteLine(dt.ToString("yyyy/MM/dd"));

Если вы ответили "2010/10/15", то вы ошиблись. Знаете почему?

Читать дальше...