Sobes.tech
Назад к вопросам
Junior — Middle
68

Расскажите о своих навыках и опыте применения паттерна мост в практике разработки.

Ответ от нейросети

sobes.tech AI

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

Пример:

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

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

class TV implements Device {
    public void powerOn() { System.out.println("TV включен"); }
    public void powerOff() { System.out.println("TV выключен"); }
}

class RemoteControl implements Remote {
    private Device device;
    public RemoteControl(Device device) { this.device = device; }
    public void turnOn() { device.powerOn(); }
    public void turnOff() { device.powerOff(); }
}

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

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