桥模式:将某个问题抽象的不同形式分别与该问题的具体实现部分相分离,使他们都可以独立变化,并能够动态结合。
例如电视厂商海尔,长虹生产21寸,29寸电视机。从这里要将它们分离出来,就用到桥模式。电视机与电视机生产厂商挂桥,从而,分离出不同厂商的实现,与不同电视机型号的实现.
下面看下uml
从上图可以看出,将实际抽象分离出来。
看下代码
创建电视机
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寸电视
这便达到我们所需要的效果了。希望朋友指出错误与不到指出,谢谢
- 大小: 13.2 KB
分享到:
相关推荐
JavaScript设计模式中的桥梁模式是一种结构型模式,它旨在将抽象部分与实现部分分离,使得它们可以独立地进行变化。...了解并熟练运用这种模式,能够帮助开发者编写更健壮、可维护的JavaScript代码。
《LEDE项目:可怜的人桥模式1》 在IT行业中,网络配置是一项至关重要的任务,特别是在家庭或小型企业网络环境中。本文主要探讨的是在没有硬件桥接功能的情况下,如何通过LEDE路由器实现一种称为“可怜的人桥模式”...
通过对这些数据的分析,可以了解到石桥煤矿的生产能力和产出水平,以及在实施安全管理模式后,其生产和效益的具体变化情况。 最后,文章中还提到了关键词“安全管理”、“模式”、“讨论”,这表明文章不仅仅介绍了...
本篇文章将深入探讨几种经典的设计模式:模板方法模式、外观模式、代理模式、装饰器模式、桥模式、工厂方法模式以及组合模式。 首先,模板方法模式(Template Method Pattern)是行为设计模式的一种,它定义了操作...
它允许遍历集合对象,而无需了解底层数据结构。 5. 中介者模式(Mediator):中介者模式用一个中介对象来封装一系列的对象交互,使得这些对象不需要显式地相互引用,从而降低耦合度。在多对象协作的场景中,中介者...
《x86汇编语言:从实模式到保护模式》这本书是深入了解计算机底层运作机制的宝贵资源,尤其对于想要学习操作系统原理的读者来说,更是必不可少的参考书籍。它详细介绍了x86架构下汇编语言的使用,以及从实模式到保护...
所涉及的设计模式包括工厂模式、单例模式、建造模式、原型模式、适配器模式、桥梁模式、组合模式、装饰模式、门面模式、享元模式、代理模式、责任链模式、命令模式、解释器模式、迭代器模式、调停者模式、备忘录模式...
这样,客户端只需要知道具体工厂,而不必了解如何创建产品。例如,可以有一个`饮品工厂`,它根据输入参数决定创建哪一种具体的饮料,如咖啡或茶,而客户端只需调用工厂的`createDrink()`方法即可。 再者,适配器...
### 设计模式与泡MM——设计模式入门教程 #### 一、创建型模式 ##### 1、FACTORY(工厂模式) ...接下来,我们将继续探讨其他的设计模式,包括剩余的行为模式等,以便更全面地了解设计模式的应用。
Java 中 23 种设计模式详解 在软件设计中,设计模式是解决特定问题的通用解决方案。...了解 Java 中的 23 种设计模式可以帮助开发者更好地设计和实现软件系统,提高系统的可维护性、可扩展性和可重用性。
在例子中,工厂模式被比喻为在麦当劳或肯德基点餐,顾客只需要告诉服务员想要什么,而无需了解食品是如何制作的。工厂模式的优点在于可扩展性,但缺点是如果需要添加新产品,可能需要修改工厂代码。 2. **建造者...
第13章 游刃有余:桥模式 (Bridge) 第14章 如法炮制:组合模式 (Composite) 第15章 源源不断:享元模式 (Flyweight) 第16章 按部就班:模板方法模式 (TemplateMethod) 第17章 风吹草动:观察者模式 (Observer) 第18...
如果你还不了解设计模式是什么的话? 那就先看设计模式引言 ! 学习 GoF 设计模式的重要性 建筑和软件中模式之异同 A. 创建模式 设计模式之 Singleton(单态/单件) 阎宏博士讲解:单例(Singleton)模式 保证...
桥接模式是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以...
结构模式有多种,如适配器模式、桥模式、组合模式等。这些模式可以帮助开发者更好地定义对象的结构,提高代码的可维护性和灵活性。 设计模式试题涵盖了软件设计模式的各种知识点,旨在帮助开发者更好地理解设计模式...
- **定义**:一个对象应当对其他对象有尽可能少的了解。 - **目的**:降低类与类之间的耦合度,提高系统的健壮性和可维护性。 - **实现**:通过减少类之间的交互来实现。 ### 12. 简单工厂(Simple Factory)模式 ...
MVC(Model-View-Controller)设计模式是一种广泛应用在软件开发中的架构模式,尤其是在Web应用领域。它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以实现业务逻辑与用户界面...
在软件开发中,设计模式是解决常见问题的模板或最佳实践,它们被广泛应用于各种编程语言,包括PHP。...同时,了解设计模式也是提升专业技能的重要途径,有助于更好地理解和应用面向对象编程的原则。
无论是麦当劳还是肯德基,当你告诉服务员“我要四个鸡翅”时,你并不关心这些鸡翅是如何制作出来的,也不需要了解具体的制作流程。这就像工厂模式中,消费者只需要知道最终的产品是什么,而具体的实现细节则由工厂来...