首页 > 代码库 > Java 实现桥接(Bridge)模式
Java 实现桥接(Bridge)模式
类图:
/** * 手机壳、套 * @author stone * */ public abstract class BaseCellphoneShell { public abstract void mapping();//对应匹配哪种手机 }
/** * 手机,桥接了 手机壳BaseCellphoneShell * @author stone */ public abstract class BaseCellphone { private BaseCellphoneShell shell; public void setShell(BaseCellphoneShell shell) { this.shell = shell; } public BaseCellphoneShell getShell() { return shell; } public abstract void mapping();//对应哪种壳 }
/** * 手机的实现 * @author stone * */ public class Cellphone extends BaseCellphone { @Override public void mapping() { System.out.println("本手机对应的壳是:"); getShell().mapping(); } }
/** * 手机壳的实现 * @author stone * */ public class CellphoneShell extends BaseCellphoneShell { @Override public void mapping() { System.out.println("壳----iphone6"); } }
/* * 桥接(Bridge)模式, 是结构型模式 * * 将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联, * 也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。 */ public class Test { public static void main(String[] args) { /* * 在本例中:手机和手机壳之间有强关联的关系:要么手机对应一种壳(BaseCellphoneShell),要么壳对应一种手机(BaseCellphone) * 手机可以有多维度变化,如依据品牌划分的、依据尺寸划分的、依据个性需求划分的等 * 手机壳也有多维度变化,因为它要适配上面划分出来的手机 * 将桥作在了BaseCellphone中,聚合接入了BaseCellphoneShell */ BaseCellphone cellphone = new Cellphone(); cellphone.setShell(new CellphoneShell());//聚合接入 cellphone.mapping(); } }
Java 实现桥接(Bridge)模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。