Back to questions
СБЕР
Middle — Senior
168
Какая основная задача паттерна мост и в чем его преимущества при проектировании систем?
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 разделены, что позволяет менять устройства и пульты независимо.