桥模式:将某个问题抽象的不同形式分别与该问题的具体实现部分相分离,使他们都可以独立变化,并能够动态结合。
例如电视厂商海尔,长虹生产21寸,29寸电视机。从这里要将它们分离出来,就用到桥模式。电视机与电视机生产厂商挂桥,从而,分离出不同厂商的实现,与不同电视机型号的实现.
下面看下uml
![](/upload/attachment/55762/ca095adb-b994-3bf6-92c4-d7595faa8d04.jpg)
从上图可以看出,将实际抽象分离出来。
看下代码
创建电视机
public abstract class Television {
//电视厂商
protected TelevisionMaker televisionMaker;
//收看电视
abstract public void teleview(TelevisionMaker televisionMaker);
}
接下来创建生产厂商
public abstract class TelevisionMaker {
abstract public void produce();
}
电视机的型号,即继承电视机类
public class Inch21 extends Television{
public void teleview(TelevisionMaker televisionMaker) {
System.out.println("21寸电视");
}
}
public class Inch29 extends Television{
public void teleview(TelevisionMaker televisionMaker) {
System.out.println("29寸电视");
}
}
下面是不同厂商,即继承生产厂商
public class ChangHong extends TelevisionMaker{
public ChangHong(){
System.out.println("长虹厂商");
}
public void produce() {
System.out.println("长虹厂商");
}
}
public class Haier extends TelevisionMaker{
public Haier(){
System.out.println("海尔厂商");
}
public void produce() {
System.out.println("海尔厂商");
}
}
这样就使用了桥模式,将原本繁杂的系统分离开来。如果根据需求变动,要增加电视机生产型号或者电视机生产厂商,只需要实现相对应的抽象类即可。
这样,我们也可以根据用户的需要,得到他所需要的电视机,如长虹厂商出厂的29寸电视机。
测试代码如下:
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
Inch29 i = new Inch29();
i.teleview(new ChangHong());
}
}
结果:
长虹厂商
29寸电视
这便达到我们所需要的效果了。希望朋友指出错误与不到指出,谢谢
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0005/5762/ca095adb-b994-3bf6-92c4-d7595faa8d04-thumb.jpg)
- 大小: 13.2 KB
分享到:
相关推荐
第13章 游刃有余:桥模式 (Bridge) 第14章 如法炮制:组合模式 (Composite) 第15章 源源不断:享元模式 (Flyweight) 第16章 按部就班:模板方法模式 (TemplateMethod) 第17章 风吹草动:观察者模式 (Observer) 第18...
文章接着介绍了 Mybatis 框架源码中的 10 种设计模式应用,包括工厂模式、单例模式、原型模式、建造者模式、代理模式、适配器模式、桥模式、组合模式、享元模式和解释器模式。这些设计模式的应用能够帮助读者更好地...
1. 找到网关设备的文档(手册或在线教程),了解如何做以下几点讨论的内容 2. 将网关配置为与LAN (Local Area Network)网络中使用的子网不
本书适用于各个阶段的开发者群体,刚刚涉足软件开发领域的新人能够透过大师的眼睛来看待编程,了解编程的价值观与原则;而具有丰富经验的资深工程师则可以通过这些模式进行反思,探究成功实践背后的意义。把价值观、...
常见的行为型模式有模板方法模式、命令模式、责任链模式、策略模式、迭代器模式、中介者模式、观察者模式、备忘录模式、访问者模式、状态模式、解释器模式等。 单一职责原则是指一个类应该只有一个职责。其优点是...
人工智能技术在该系统中的应用包括数据分析、模式识别和预测等。 3. 系统开发 系统开发是指设计、开发和维护软件和硬件系统的过程。桥梁限载智能拦截系统的开发需要考虑到系统的安全性、可靠性和可扩展性等因素。...
Java《易学设计模式》随书源代码,书中介绍了多种JAva模式的方法和使用,比如简单工厂模式、工厂方法模式例子、状态模式例子、迭代器模式、解释器模式、命令模式、模板方法模式、享元模式、桥模式、代理模式、适配器...
"重庆模式" 在本文中,我们可以看到黄奇帆对重庆经济政策的阐述,特别是在...本文提供了一个了解黄奇帆经济政策的重要窗口,展示了重庆经济政策的特征和优势,特别是在国有企业、金融战略和民营企业发展方面的看法。
刚刚涉足软件开发领域的新人能够透过大师的眼睛来看待编程,了解编程的价值观与原则;具有丰富经验的资深工程师则可以通过这些模式进行反思,探究成功实践背后的意义。把价值观、原则和开发实践结合之后,日常开发...
如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证...
阅读本书,读者能够完整地理解12个核心的设计模式和1个分析模式,了解设计模式并不是孤立存在的,多个设计模式协同工作才能创建出更加坚固的应用程序。这里所讲授的12个模式并没有涵盖所有应该学会的模式,但是...
本白皮书主要介绍华为智简园区WLAN无线网桥技术的解决方案,旨在帮助读者了解WDS/MESH技术的工作原理和应用场景,以便更好地实现远距离无线连接、扩大网络覆盖范围和降低网络部署成本。 1.1 无线网桥技术介绍 无线...
所以在设成桥模式的情况下,也可以按网桥的结构来组网,不过在此为了行文方便,我们将从简单的组网拓扑开始,逐步深入到更复杂的拓扑结构中。 无线 AP 的组网拓扑结构相对简单,它可以直接连接到有线局域网,或者...
目前大多数高校董事会定位于决策咨询机构,但由于制度保障和运行体制的问题,这个平台并不能很好地发挥校董双方各自优势,高校应充分利用董事会平台,探索校企双方合作新模式,通过了解企业需求,挖掘自身教育资源优势,...
行为型模式是用于处理类和对象之间的行为的模式,软件架构师需要了解常见的行为型模式及其应用场景,如策略模式、模板方法模式、观察者模式等,以提高系统设计的灵活性和可维护性。 通过本书的讲解,读者将深入了解...
该模拟完全用于了解逆变器的 120 度模式。 我希望它对你很有帮助。 如果有任何问题要理解请联系我(nest2020engg@gmail.com)gmail。 谢谢....
Bridge模式是将虚拟主机的虚拟网卡桥接到一个Host主机的物理网卡上面,实际上是将Host主机的物理网卡设置为混杂模式,从而达到侦听多个IP的能力。在这种模式下,虚拟主机的虚拟网卡直接与Host主机的物理网卡所在的...
矩阵-桥 开始之前,请考虑一下风景 该项目是一系列创新项目中的第一个,这些... 这种桥接方式有一个常见的模式,例如重复的消息问题,由此模块处理。 例子 这些桥是使用matrix-puppet-bridge构建的: 常问问题 问
模型采用单相桥双极性调制,控制策略包含开环模式、单电压环模式、电压电流双环。通过设置有无死区,可以直观的了解死区效应产生的过零点失真,以及通过控制解决过零点失真的原理。可以验证单环控制与双环控制的动态...