Sobes.tech
Junior — Middle
82

Можешь назвать некоторые структурные шаблоны проектирования, применяемые в программировании?

Answer from AI

sobes.tech AI

Некоторые распространённые структурные шаблоны проектирования, применяемые в программировании, включая C#:

  • Adapter (Адаптер) — позволяет объектам с несовместимыми интерфейсами работать вместе.

  • Decorator (Декоратор) — динамически добавляет объектам новые обязанности, оборачивая их.

  • Facade (Фасад) — предоставляет упрощённый интерфейс к сложной системе.

  • Composite (Компоновщик) — позволяет сгруппировать объекты в древовидную структуру и работать с ними единообразно.

  • Proxy (Заместитель) — контролирует доступ к другому объекту.

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

// Целевой интерфейс
interface ITarget {
    void Request();
}

// Класс с несовместимым интерфейсом
class Adaptee {
    public void SpecificRequest() {
        Console.WriteLine("Вызов специфического запроса");
    }
}

// Адаптер
class Adapter : ITarget {
    private Adaptee _adaptee = new Adaptee();

    public void Request() {
        _adaptee.SpecificRequest();
    }
}

Такой подход помогает интегрировать существующие классы с новым кодом без изменения их исходников.