桥接模式简单实例

桥接方式最大的好处在于使用方和被使用方可以灵活改变,但是核心的逻辑 被使用方被使用方使用是不能够更改的。
用代码抽象,可以理解为使用方和被使用方先使用Base类对核心逻辑进行表示,之后各方可以在做特化。这个核心逻辑就是桥接模式中的桥。
下面给出一个实例:
使用充电宝和充电器分别给手机和蓝牙耳机进行充电。

分析:上面的对象提取抽象,可以分出来两大类:供电设备和用电设备。
核心逻辑是供电设备 供电 给 用电设备 充电。
特化逻辑是 供电设备分为充电宝和充电器,用电设备分为手机和蓝牙耳机。

下面直接上代码:
1.用电设备基类

package kisaragi.yu.powerBridgeTest;

public interface Equipment {
   

    void charging();

    void disConnect();
 }


2.供电设备基类

package kisaragi.yu.powerBridgeTest;

public class Power {
   
    Equipment equipment;

    public void setEquipment(Equipment equipment) {
   
        this.equipment = equipment;
    }

    public void sendPower() {
   
        equipment.charging();
    }

    public void closePower() {
   
        equipment.disConnect();
    }
}

3.充电宝

package kisaragi.yu.powerBridgeTest;

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴为您提供有关桥接模式Java项目实例桥接模式是一种结构性设计模式,可用于将抽象与实现解耦。 以下是一个简单桥接模式Java项目实例: 1.先定义一个 Shape 接口和一个 Drawing 接口,如下所示: ```java public interface Shape { public void draw(); } public interface Drawing { public void drawCircle(int x, int y, int radius); public void drawRectangle(int x1, int y1, int x2, int y2); } ``` 2.然后实现具体的 Shape 类和 Drawing 类,如下所示: ```java public class CircleShape implements Shape { private int x, y, radius; private Drawing drawing; public CircleShape(int x, int y, int radius, Drawing drawing) { this.x = x; this.y = y; this.radius = radius; this.drawing = drawing; } public void draw() { drawing.drawCircle(x, y, radius); } } public class RectangleShape implements Shape { private int x1, y1, x2, y2; private Drawing drawing; public RectangleShape(int x1, int y1, int x2, int y2, Drawing drawing) { this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; this.drawing = drawing; } public void draw() { drawing.drawRectangle(x1, y1, x2, y2); } } public class DrawingImpl implements Drawing { public void drawCircle(int x, int y, int radius) { System.out.println("Drawing circle at (" + x + ", " + y + ") with radius " + radius); } public void drawRectangle(int x1, int y1, int x2, int y2) { System.out.println("Drawing rectangle from (" + x1 + ", " + y1 + ") to (" + x2 + ", " + y2 + ")"); } } ``` 3.最后,我们可以使用这些类来画出不同的形状,如下所示: ```java public static void main(String[] args) { Drawing drawing = new DrawingImpl(); Shape circle = new CircleShape(10, 10, 5, drawing); circle.draw(); Shape rectangle = new RectangleShape(20, 20, 30, 30, drawing); rectangle.draw(); } ``` 这是一个简单桥接模式Java项目实例。它演示了如何将抽象和实现分离,使得它们可以独立进行扩展。当我们需要添加新的形状或绘图方式时,只需要实现相应的类即可,而不用改变现有类的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值