Sobes.tech
Back to questions
Middle — Senior
167

Какая основная задача паттерна мост и в чем его преимущества при проектировании систем?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Паттерн "Мост" (Bridge) предназначен для разделения абстракции и её реализации, чтобы они могли изменяться независимо друг от друга.

Основная задача — избежать жесткой связи между интерфейсом и реализацией, что повышает гибкость и расширяемость системы.

Преимущества:

  • Позволяет менять реализации без изменения клиентского кода.
  • Упрощает добавление новых реализаций и абстракций.
  • Снижает количество подклассов за счет композиции вместо наследования.

Пример на Java:

// Абстракция
interface RemoteControl {
    void turnOn();
}

// Реализация
interface Device {
    void powerOn();
}

class TV implements Device {
    public void powerOn() {
        System.out.println("TV is ON");
    }
}

class BasicRemote implements RemoteControl {
    protected Device device;
    public BasicRemote(Device device) {
        this.device = device;
    }
    public void turnOn() {
        device.powerOn();
    }
}

// Использование
Device tv = new TV();
RemoteControl remote = new BasicRemote(tv);
remote.turnOn();

Здесь RemoteControl и Device разделены, что позволяет менять устройства и пульты независимо.