Junior — Middle
91
Можете объяснить принцип работы и предназначение паттерна Proxy в разработке программного обеспечения?
Ответ от нейросети
sobes.tech AI
Паттерн Proxy — это структурный паттерн проектирования, который предоставляет заместителя или суррогат для другого объекта, контролируя доступ к нему. Proxy может выполнять дополнительные действия при обращении к реальному объекту, например, ленивую инициализацию, кэширование, контроль доступа или логирование.
Пример на C#:
public interface IService
{
void Request();
}
public class RealService : IService
{
public void Request()
{
Console.WriteLine("Выполнение запроса в реальном сервисе");
}
}
public class ProxyService : IService
{
private RealService _realService;
public void Request()
{
if (_realService == null)
{
_realService = new RealService(); // ленивое создание
}
Console.WriteLine("Прокси: дополнительная логика перед вызовом");
_realService.Request();
}
}
Таким образом, Proxy позволяет контролировать доступ к объекту, добавлять функциональность без изменения самого объекта и управлять ресурсами.