Sobes.tech
Back to questions
Junior — Middle
70

Какие шаблоны проектирования вы применяли в своей практике разработки?

Answer from AI

sobes.tech AI

В своей практике разработки на C# я применял несколько шаблонов проектирования, которые помогают сделать код более поддерживаемым и расширяемым:

  • Singleton — для создания единственного экземпляра класса, например, для логгера или менеджера конфигурации.
  • Factory Method — для создания объектов без жесткой привязки к конкретным классам, что облегчает расширение функционала.
  • Repository — для абстракции доступа к данным, что упрощает тестирование и смену источника данных.
  • Dependency Injection — для управления зависимостями между классами, что улучшает модульность и тестируемость.

Пример использования Singleton в C#:

public class Logger
{
    private static Logger _instance;
    private static readonly object _lock = new object();

    private Logger() { }

    public static Logger Instance
    {
        get
        {
            lock (_lock)
            {
                if (_instance == null)
                    _instance = new Logger();
                return _instance;
            }
        }
    }

    public void Log(string message)
    {
        Console.WriteLine(message);
    }
}

Использование таких шаблонов помогает создавать гибкие и легко поддерживаемые приложения.