Sobes.tech
Назад к вопросам
Junior — Middle
65

Можешь привести примеры основных паттернов проектирования и объяснить их применение?

Ответ от нейросети

sobes.tech AI

Основные паттерны проектирования и их применение:

  • Singleton — гарантирует, что класс имеет только один экземпляр, и предоставляет глобальную точку доступа к нему. Используется, например, для управления конфигурацией или подключением к базе данных.

  • Factory Method — определяет интерфейс для создания объекта, но позволяет подклассам изменить тип создаваемого объекта. Помогает создавать объекты без указания конкретного класса.

  • Observer — позволяет объектам подписываться на события другого объекта и получать уведомления об изменениях. Часто используется в GUI или при реализации событийных систем.

  • Decorator — динамически добавляет объектам новые обязанности, не изменяя их структуру. Полезен для расширения функционала без наследования.

  • Strategy — определяет семейство алгоритмов, инкапсулирует каждый из них и делает их взаимозаменяемыми. Позволяет менять алгоритмы во время выполнения.

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

public class DatabaseConnection {
    private static DatabaseConnection instance;

    private DatabaseConnection() {
        // инициализация подключения
    }

    public static synchronized DatabaseConnection getInstance() {
        if (instance == null) {
            instance = new DatabaseConnection();
        }
        return instance;
    }
}