科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件java设计模式之Bridge(抽象和行为分开)

java设计模式之Bridge(抽象和行为分开)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:中国IT实验室 来源:中国IT实验室 2007年8月26日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
 现在我们有了两个抽象类,下面我们分别对其进行继承,实现concrete class:
  
  //中杯
  public class MediumCoffee extends Coffee
  {
    public MediumCoffee() {setCoffeeImp();}
  
    public void pourCoffee()
    {
      CoffeeImp coffeeImp = this.getCoffeeImp();
      //我们以重复次数来说明是冲中杯还是大杯 ,重复2次是中杯
      for (int i = 0; i < 2; i++)
      {
  
        coffeeImp.pourCoffeeImp();
      }
    
    }
  }
  
  //大杯
  public class SuperSizeCoffee extends Coffee
  {
    public SuperSizeCoffee() {setCoffeeImp();}
  
    public void pourCoffee()
    {
      CoffeeImp coffeeImp = this.getCoffeeImp();
      //我们以重复次数来说明是冲中杯还是大杯 ,重复5次是大杯
      for (int i = 0; i < 5; i++)
      {
  
        coffeeImp.pourCoffeeImp();
      }
    
    }
  }
  
  上面分别是中杯和大杯的具体实现.下面再对行为CoffeeImp进行继承:
  
  //加奶
  public class MilkCoffeeImp extends CoffeeImp
  {
    MilkCoffeeImp() {}
  
    public void pourCoffeeImp()
    {
      System.out.println("加了美味的牛奶");
    }
  }
  
  //不加奶
  public class FragrantCoffeeImp extends CoffeeImp
  {
    FragrantCoffeeImp() {}
  
    public void pourCoffeeImp()
    {
      System.out.println("什么也没加,清香");
    }
  }
  
  Bridge模式的基本框架我们已经搭好了,别忘记定义中还有一句:动态结合,我们现在可以喝到至少四种咖啡:
  1.中杯加奶
  2.中杯不加奶
  3.大杯加奶
  4.大杯不加奶
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章