Материал данного урока направлен на ознакомление с порождающими паттернами проектирования на примере паттерна Одиночка. Будут рассмотрены особенности порождающих паттернов и необходимость их использования. Практическая часть урока будет содержать несколько реализаций паттерна Одиночка средствами .NET и C#, а также обоснована целесообразность использования паттерна при разработке современных систем. Также будут рассмотрены альтернативные методы решения проблемы контроля жизни объектов с помощью Dependency Injection и IoC контейнеров. Учащиеся получат не только теоретические, но и практические знания, позволяющие эффективно применять паттерн Одиночка.