J
Java Developer | Backend
@java_dev_tg2.1K подп.
948просмотров
45.2%от подписчиков
25 августа 2025 г.
Score: 1.0K
❗Паттерны проектирования. Структурные паттерны. Bridge (Мост). Паттерн проектирования "Мост" (Bridge) используется для разделения абстракции и реализации, что позволяет изменять их независимо друг от друга. Этот паттерн особенно полезен, когда у вас есть множество возможных реализаций и абстракций, которые могут изменяться независимо, что делает систему более гибкой и расширяемой. interface Engine { void setEngine(); } abstract class Car { protected Engine engine; public Car(Engine engine){ this.engine = engine; } abstract public void setEngine(); } class SportCar extends Car { public SportCar(Engine engine) { super(engine); } public void setEngine() { System.out.print("SportCar engine: "); engine.setEngine(); } } class UnknownCar extends Car { public UnknownCar(Engine engine) { super(engine); } public void setEngine() { System.out.print("UnknownCar engine: "); engine.setEngine(); } } class SportEngine implements Engine { public void setEngine(){ System.out.println("sport"); } } class UnknownEngine implements Engine { public void setEngine(){ System.out.println("unknown"); } } public class BridgeTest { public static void main(String[] args) { Car sportCar = new SportCar(new SportEngine()); sportCar.setEngine(); System.out.println(); Car unknownCar = new UnknownCar(new UnknownEngine()); unknownCar.setEngine(); } } 😎 Преимущества паттерна Bridge 1⃣ Гибкость: Позволяет изменять реализацию и абстракцию независимо друг от друга. 2⃣Упрощение кода: Избегает создания множества подклассов для каждой комбинации абстракции и реализации. 3⃣ Легкость в расширении: Новые реализации и абстракции могут быть добавлены без изменения существующего кода. 😌 Недостатки паттерна Bridge 1⃣Сложность: Увеличивает количество классов в системе. 2⃣Потенциальная путаница: Понимание структуры может быть сложнее из-за разделения на абстракцию и реализацию. Таким образом, паттерн "Мост" является мощным инструментом для создания гибких и расширяемых систем с четким разделением ответственности между абстракцией и реализацией. 🖥Java Developer | Backend |#⃣ #обучение #java
948
просмотров
2270
символов
Да
эмодзи
Нет
медиа

Другие посты @java_dev_tg

Все посты канала →
❗Паттерны проектирования. Структурные паттерны. Bridge (Мост — @java_dev_tg | PostSniper