Sobes.tech
Middle — Senior
224

Kokia yra tilto šablono pagrindinė užduotis ir kokios yra jo pranašumai sistemų projektavime?

Įmonės kur klausė
СБЕРСБЕР

Atsakymas iš 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 разделены, что позволяет менять устройства и пульты независимо.