这篇文章主要讲解了“Java设计模式的桥接模式怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java设计模式的桥接模式怎么实现”吧!
桥接(Bridge)模式的定义如下: 将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。
1、抽象与实现分离,扩展能力强
2、符合开闭原则
3、符合合成复用原则
4、其实现细节对客户透明
由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正确地识别出系统中两个独立变化的维度,这增加了系统的理解与设计难度。
可以将抽象化部分与实现化部分分开,取消二者的继承关系,改用组合关系。
案例: 蓝兔宫主买裙子
裙子分两个维度,分别是颜色和样式。
颜色有黄色和红色;
样式分长裙和短裙;
抽象化(Abstraction)角色: 颜色
扩展抽象化(Refined Abstraction)角色: 黄色和红色
实现化(Implementor)角色: 样式
具体实现化(Concrete Implementor)角色: 长裙和短裙
颜色接口,声明一个show()抽象方法
public interface Color { void show(); }
黄色类并实现颜色接口
public class ColorYellow implements Color { @Override public void show() { System.out.println("黄色的"); } }
红色类并实现颜色接口
public class ColorRed implements Color { @Override public void show() { System.out.println("红色的"); } }
裙子类,声明一个颜色属性和一个抽象方法
abstract class Qun { protected Color color; protected Qun() { } protected Qun(Color color) { this.color = color; } public abstract void shows(); }
继承裙子类,并实现抽象方法
public class QunChang extends Qun { protected QunChang() { } protected QunChang(Color color) { super(color); } @Override public void shows() { System.out.println("长裙"); color.show(); } }
继承裙子类,并实现抽象方法
public class QunDuan extends Qun { protected QunDuan() { } protected QunDuan(Color color) { super(color); } @Override public void shows() { System.out.println("短裙"); color.show(); } }
new一个红色对象作为参数传给长裙。
public class Demo { public static void main(String[] args) { Color color = new ColorRed(); Qun qun = new QunChang(color); qun.shows(); } }
感谢各位的阅读,以上就是“Java设计模式的桥接模式怎么实现”的内容了,经过本文的学习后,相信大家对Java设计模式的桥接模式怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。