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();
}
}
Такой подход помогает интегрировать существующие классы с новым кодом без изменения их исходников.