赞
踩
**桥接模式(Bridge Pattern)**是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立变化。通过组合的方式建立两个类之间的联系,而不是继承。桥接模式有助于系统进行分层设计,产生更好的结构化系统。
当然,以下是使用Java编写的桥接模式示例代码:
首先,我们定义手机样式的抽象接口:
public interface Style {
void display();
}
然后,我们为不同的样式实现具体的类:
public class FoldableStyle implements Style {
@Override
public void display() {
System.out.println("Foldable style phone");
}
}
public class UprightStyle implements Style {
@Override
public void display() {
System.out.println("Upright style phone");
}
}
接下来,我们定义手机品牌的抽象接口,它包含一个设置样式的方法:
public abstract class Brand {
protected Style style;
public void setStyle(Style style) {
this.style = style;
}
public abstract void use();
}
然后,我们为不同的品牌实现具体的类,并调用样式的显示方法:
public class HuaweiBrand extends Brand {
@Override
public void use() {
style.display();
System.out.println("Using Huawei brand phone");
}
}
public class XiaomiBrand extends Brand {
@Override
public void use() {
style.display();
System.out.println("Using Xiaomi brand phone");
}
}
最后,我们创建一个客户端类来展示如何使用桥接模式:
public class Client { public static void main(String[] args) { // 创建品牌和样式对象 Brand huawei = new HuaweiBrand(); Brand xiaomi = new XiaomiBrand(); Style foldable = new FoldableStyle(); Style upright = new UprightStyle(); // 将样式设置给品牌 huawei.setStyle(foldable); xiaomi.setStyle(upright); // 使用品牌手机 huawei.use(); xiaomi.use(); // 尝试改变样式 huawei.setStyle(upright); huawei.use(); } }
运行上面的客户端代码,你会看到以下输出:
Foldable style phone
Using Huawei brand phone
Upright style phone
Using Xiaomi brand phone
Upright style phone
Using Huawei brand phone
在这个示例中,我们可以看到品牌和样式是两个独立的维度,它们之间通过桥接类(在这里是Brand
类)进行连接。客户端可以自由地为不同的品牌选择不同的样式,而无需修改品牌或样式的实现代码。这种设计使得系统更加灵活和可扩展。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。