`

Bridge 设计模式

阅读更多

Bridge模式:将抽象和行为划分开来,各自独立,但能动态的结合。

 

public abstract class Coffee{
 CoffeeImp coffeeImp;

 public void setCoffeeImp(){
     this.coffeeImp=CoffeeImpSingleton.getTheCoffeeImp();
 }
 public CoffeeImp getCoffeeImp(){
    return this.coffeeImp;
 }
 public abstract void pourCoffee();
}

 

public abstract class CoffeeImp{
 public abstract void pourCoffeeImp();
}

 

public class CoffeeImpSingleton{
 private static CoffeeImp coffeeImp;

 public CoffeeImpSingleton(CoffeeImp coffeeImpIn)
 {this.coffeeImp = coffeeImpIn;}

  public static CoffeeImp getTheCoffeeImp(){
   return coffeeImp;
  }
}

 

public class FragrantCoffeeImp extends CoffeeImp{
 FragrantCoffeeImp(){
  System.out.println("普通Coffee");
 }

  public void pourCoffeeImp(){
   System.out.println("什么也没加,清香");
  }
}

 

public class MilkCoffeeImp extends CoffeeImp{
 MilkCoffeeImp(){
  System.out.println("牛奶Coffee");
 }

  public void pourCoffeeImp(){
   System.out.println("加了美味的牛奶");
  }
}

public class MediumCoffee extends Coffee{
 public MediumCoffee(){
  setCoffeeImp();
 }

  public void pourCoffee(){
   System.out.println("中杯");
   CoffeeImp coffeeImp=this.getCoffeeImp();
   coffeeImp.pourCoffeeImp();
  }
}

 

public class SuperSizeCoffee extends Coffee{
 public SuperSizeCoffee(){this.setCoffeeImp();}
  
  public void pourCoffee(){
   System.out.println("大杯");
   CoffeeImp coffeeImp=this.getCoffeeImp();
   coffeeImp.pourCoffeeImp();
  }
}

 

public class Test {

 public static void main(String[] args) {
  //拿出牛奶
  CoffeeImpSingleton coffeeImpSingleton = new CoffeeImpSingleton(new MilkCoffeeImp());

  //中杯加奶
  MediumCoffee mediumCoffee = new MediumCoffee();
  mediumCoffee.pourCoffee();

  //大杯加奶
  SuperSizeCoffee superSizeCoffee = new SuperSizeCoffee();
  superSizeCoffee.pourCoffee();
 }
}

 

 

分享到:
评论

相关推荐

    【Java 设计模式-源码】Bridge 模式:在 Java 中解耦抽象与实现

    本文将介绍 Bridge 模式,它是一种结构型设计模式,用于解耦抽象与实现,增强软件系统的灵活性和可扩展性。 二、Bridge 设计模式的别名 Handle/Body 三、Bridge 设计模式的意图 Bridge 设计模式是 Java 中的一种结构...

    JAVA设计模式chm文档

    设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template 设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计...

    设计模式文档 chm

    设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template 设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计...

    java设计模式之Bridge.pdf

    Bridge设计模式是一种结构型设计模式,它的主要目的是将抽象部分与实现部分分离,使得两者可以独立进行变化。在Java中,这种模式常用于处理复杂的类层次结构,尤其是当类的分类方式不止一种,或者需要将一个类的多个...

    软件设计模式在嵌入式控制系统中的应用

    例如,针对核心调度算法多样性的问题,可以采用Bridge设计模式,这是一种结构型设计模式,它将抽象部分与实现部分分离,使两者可以独立地变化。使用Bridge模式可以保证当核心调度算法改变时,嵌入式系统的其他部分不...

    实验七:设计模式以及构件设计1

    实验七主要围绕设计模式和构件设计展开,特别是Bridge设计模式的应用。Bridge模式是一种结构型设计模式,它将抽象部分与其实现部分分离,使它们可以独立进行变化。在这个实验中,学生需要通过学习《第5章 面向对象...

    用UML描述C++设计模式

    本知识点主要以 Adapter、Abstract Factory、Singleton、Bridge 和 Prototype 设计模式为例,结合UML来说明如何使用UML来描述这些设计模式。 **Adapter设计模式** Adapter 模式(适配器模式),主要用于两个不兼容...

    设计模式Bridge学习

    针对设计模式中的 bridge 模式,做了一个小例子,希望对设计模式研究的朋友有所帮助。

    人人都懂设计模式 人人都懂设计模式

    人人都懂设计模式 设计模式是软件开发中的一种解决方案,它提供了一种通用的设计思想和方法论,可以帮助开发者更好地设计和实现软件系统。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 在本书中...

    bridge-v2-master.rar

    这个名为 "bridge-v2-master.zip" 的压缩包文件包含的是 Bridge V2 设计模式的源代码,为我们提供了深入理解这一模式的机会。 Bridge 设计模式是一种结构型设计模式,它的主要目标是将抽象部分与其实现部分分离,...

    软件设计模式 bridge模式 代理模式等

    软件设计模式,共包含二十多种模式,做IT的必备知识呀!

    24种设计模式以及混合设计模式

    设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...

    设计模式之Bridge模式

    Bridge模式是对抽象和具体的进一步抽象。假设你有一个抽象类,一个具体类,现在需要将两者的变化都考虑进去,这就需要bridge。这是经典设计模式中唯一的可以同时处理抽象和具体同时变化的设计模式

    bridge结构设计模式

    桥接(Bridge)结构设计模式是一种用于解耦抽象接口与其实现方式的设计模式。在软件工程中,它将抽象部分与其实现部分分离,使它们可以独立进行变化。这种模式是基于对象组合而非继承来实现抽象和实现之间的多对多...

    JavaScript设计模式与开发实践.pdf

    第二部分是核心部分,通过一步步完善的代码示例,由浅入深地讲解了16个设计模式,包括 singleton模式、Factory模式、Abstract Factory模式、Builder模式、Prototype模式、Adapter模式、Bridge模式、Composite模式、...

    23种设计模式整理pdf

    设计模式详解 设计模式是软件开发中的一种解决方案,旨在提高代码的可重用性、可维护性和可扩展性。在这篇文章中,我们将对23种常见的设计模式进行整理和解释。 1. Singleton 模式 Singleton 模式是一种创建型模式...

    C#面向对象设计模式纵横谈(8):Bridge 桥接模式(结构型模式)

    在C#中,面向对象设计模式通常用于解决复杂度问题,桥接模式则是一种更为高级的设计策略。它通过引入一个抽象接口,将抽象类与其具体实现分离开来,形成两个独立的继承层次,这样抽象部分和实现部分都可以独立地进行...

    C#面向对象设计模式纵横谈\8 结构型模式Bridge桥接模式.zip

    在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要资源分。敬请期待。 这是第8节:结构型...

    设计模式面面观(10):桥接模式(Bridge Pattern)-结构型模式

    创建型模式 (100%) 设计模式面面观(8):创建型模式总结 (100%) 设计模式面面观(9):适配器模式(Adapter Pattern)-结构型模式 (100%) 设计模式面面观(10):桥接模式(Bridge Pattern)-结构型模式 ...

    23种面向对象设计模式

    面向对象设计模式是软件开发中的一种重要思想,它通过总结和提炼在软件设计过程中常见的问题和解决方案,形成了可复用的设计规范。标题提到的“23种面向对象设计模式”涵盖了设计模式的主要分类,这些模式在Java、...

Global site tag (gtag.js) - Google Analytics