Design Patterns - Bridge Pattern
Design Patterns - Bridge Pattern
This pattern involves an interface which acts as a bridge which makes the
functionality of concrete classes independent from interface implementer classes.
Both types of classes can be altered structurally without affecting each other.
We are demonstrating use of Bridge pattern via following example in which a circle
can be drawn in different colors using same abstract class method but different
bridge implementer classes.
Implementation
We have a DrawAPI interface which is acting as a bridge implementer and concrete
classes RedCircle, GreenCircle implementing the DrawAPI interface. Shape is an
abstract class and will use object of DrawAPI. BridgePatternDemo, our demo class
will use Shape class to draw different colored circle.
Step 1
Create bridge implementer interface.
DrawAPI.java
https://www.tutorialspoint.com/design_pattern/bridge_pattern.htm 1/4
07/12/2023 13:55 Design Patterns - Bridge Pattern
Step 2
Create concrete bridge implementer classes implementing the DrawAPI interface.
RedCircle.java
GreenCircle.java
Step 3
Create an abstract class Shape using the DrawAPI interface.
Shape.java
https://www.tutorialspoint.com/design_pattern/bridge_pattern.htm 2/4
07/12/2023 13:55 Design Patterns - Bridge Pattern
Step 4
Create concrete class implementing the Shape interface.
Circle.java
Step 5
Use the Shape and DrawAPI classes to draw different colored circles.
BridgePatternDemo.java
redCircle.draw();
greenCircle.draw();
}
}
https://www.tutorialspoint.com/design_pattern/bridge_pattern.htm 3/4
07/12/2023 13:55 Design Patterns - Bridge Pattern
Step 6
Verify the output.
https://www.tutorialspoint.com/design_pattern/bridge_pattern.htm 4/4