и посмотреть медиа
C# - вопросы собесов
и посмотреть медиа
Собесы C#.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Вопросы для собеседований по C#.
🤔 Как сейчас делается Singleton? В современном C# паттерн Singleton можно реализовать несколькими способами, каждый из которых имеет свои преимущества и предназначен для различных сценариев использования. Рассмотрим несколько распространенных подходов к реализации Singleton. 🟠Ленивый Singleton (Lazy Initialization) Ленивый Singleton инициализируется при первом обращении. Это обеспечивает отложенную инициализацию объекта и гарантирует потокобезопасность. public class Singleton { private static readonly Lazy lazyInstance = new Lazy(() => new Singleton()); public static Singleton Instance => lazyInstance.Value; private Singleton() { // Приватный конструктор } } 🟠Потокобезопасный Singleton (Thread-safe) Этот подход использует lock для обеспечения потокобезопасности при создании экземпляра. public class Singleton { private static Singleton instance; private static readonly object lockObj = new object(); private Singleton() { // Приватный конструктор } public static Singleton Instance { get { if (instance == null) { lock (lockObj) { if (instance == null) { instance = new Singleton(); } } } return instance; } } } Eager Initialization (Инициализация при загрузке) Экземпляр Singleton создается при загрузке класса. Это гарантирует потокобезопасность за счет особенностей инициализации статических переменных в .NET. public class Singleton { private static readonly Singleton instance = new Singleton(); public static Singleton Instance => instance; private Singleton() { // Приватный конструктор } } 🟠Static Constructor (Статический конструктор) Использование статического конструктора для инициализации Singleton. public class Singleton { private static readonly Singleton instance; static Singleton() { instance = new Singleton(); } public static Singleton Instance => instance; private Singleton() { // Приватный конструктор } } Singleton с внедрением зависимостей (Dependency Injection) В современных приложениях, особенно с использованием ASP.NET Core, Singleton часто регистрируется в контейнере внедрения зависимостей. public class SingletonService { public void DoWork() { // Выполнение работы } } // Регистрация в контейнере служб public void ConfigureServices(IServiceCollection services) { services.AddSingleton(); } // Использование в контроллере public class MyController : ControllerBase { private readonly SingletonService _singletonService; public MyController(SingletonService singletonService) { _singletonService = singletonService; } public IActionResult Index() { _singletonService.DoWork(); return Ok(); } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!
APK Android gratis y juegos. Acceso rápido a miles de archivos en el canal de Telegram.
Cursos gratis de Udemy con cupones. Conocimiento deITBusiness, diseño y mucho más sin pago.
El canal es sobre cultura de hackers, seguridad e invulnerabilidad.