9.桥接模式
手机操作问题 手机有不同的样式和品牌,每一种样式下面有各种品牌,每一种品牌也有多种样式,当然随时可能增加或者减少某一种样式或者某一种品牌的手机,需要考虑ocp原则,设计方案时; 传统方案 解决手机使用问题(类图): 传统方案解决手机操作问题 扩展性问题 (类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如果我们增加一个手机品牌,也要在各个手机样式类下增加。 违反了单一职责原则,当我们增加手机样式时,要同时增加所有品牌的手机,这样增加了代码维护成本. 解决方案- 使用桥接模式 桥接模式(Bridge) 基本介绍 桥接模式(Bridge模式)是指:将 实现 与 抽象 放在两个不同的类层次中,使两个层次 可以独立改变 。 抽象聚合了实现 是一种 结构型设计模式 Bridge模式基于 类的最小设计原则 ,通过使用封装、聚合及继承等行为让不同 的类承担不同的职责。它的主要特点是把 抽象(Abstraction) 与 行为实现 ( Implementation )分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展, 对于哪个是抽象,哪个是实现是自己需要分辨的 ; 原理类图 桥接模式解决手机操作问题 这里选取了手机(Phone)作为抽象,品牌(Brand)作为实现来进行设计的,同时将Brand聚合到Phone里面了; //接口 实现方 public