`
knight_black_bob
  • 浏览: 851153 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设计模式 之 桥接模式

阅读更多

 

 

下载 23种设计模式源码 :http://download.csdn.net/download/knight_black_bob/8936043

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


创建型模式,共五种:
工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模式

结构型模式,共七种:
适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式

行为型模式,共十一种:
策略模式 模板方法模式 观察者模式 迭代子模式 责任链模式 命令模式

备忘录模式 状态模式 访问者模式 中介者模式 解释器模式

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

 

 

 

package 设计模式.桥接模式;

public interface Food {
	String name();
}

 

package 设计模式.桥接模式;

public class Rice implements Food {

	@Override
	public String name() { 
		return "饭";
	}

}

 

package 设计模式.桥接模式;

public class Noodles implements Food {

	@Override
	public String name() { 
		return "面";
	}

}

 

package 设计模式.桥接模式;

public abstract class Dinner {

	Food meal ;
	public Dinner(Food meal) { 
		this.meal = meal;
	}
  
	public  abstract String eatWhat();
	
}

 

package 设计模式.桥接模式;

public class WeastDinner extends Dinner{
	public WeastDinner(Food meal) {
		super(meal);
		// TODO Auto-generated constructor stub
	}
	@Override
	public String eatWhat() {
		return  " 晚饭吃西餐,吃"+ super.meal.name();
	}

}

 

package 设计模式.桥接模式;

public class ChinaDinner extends Dinner{
 
	public ChinaDinner(Food meal) {
		super(meal);
		// TODO Auto-generated constructor stub
	}

	@Override
	public String eatWhat() {
		return  " 晚饭吃中餐,吃"+ super.meal.name();
	}

}

 

package 设计模式.桥接模式;

public class BridgeTest {

	public static void main(String[] args) {
		Food f = new Rice();
		Dinner d = new ChinaDinner(f);
		System.out.println(" ->"+ d.eatWhat());
		f = new Noodles();
		d = new WeastDinner(f);
		System.out.println(" ->"+ d.eatWhat());
	}
}

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

  • 大小: 2.1 KB
分享到:
评论

相关推荐

    设计模式之桥接模式

    设计模式之桥接模式,这份文档以例子的形式讲诉了设计模式之桥接模式,希望可以帮助需要的人!

    设计模式之桥接模式.pdf

    ### 设计模式之桥接模式详解 #### 一、桥接模式概述 桥接模式(Bridge Pattern)是一种常用的结构型设计模式,它主要用于解决抽象部分和实现部分的耦合问题。这种模式通过将抽象和实现分离,使得两者可以独立变化...

    设计模式之桥接模式,内含可运行代码

    桥接模式是软件设计模式中的一种结构型模式,它的主要目的是为了实现抽象和实现的解耦,使得两者可以独立地进行扩展。在桥接模式中,抽象类(Abstraction)不直接引用具体实现(Implementation),而是通过一个桥接...

    设计模式之桥接模式BridgePattern

    桥接模式(Bridge Pattern)是设计模式中的一种结构型模式,它主要解决的是在软件设计中,当抽象和实现之间存在紧密耦合时,如何使这两者能够独立地变化。这种模式通过引入一个抽象层来分离接口和实现,使得它们可以...

    c++-设计模式之桥接模式(Bridge Pattern)

    桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使得两者可以独立地变化。这种模式常用于需要在多个维度上变化的场景,比如不同的形状和颜色,允许在不改变客户端代码的情况下增加新...

    23钟设计模式之 桥接模式

    桥接模式(Bridge Pattern)是设计模式中的一种结构型模式,它的主要目的是将抽象部分与实现部分解耦,使得它们可以独立地进行变化。在上述的例子中,通过将电视台(CCTV)与节目(Program)进行分离,实现了两者...

    C++设计模式之桥接模式(Bridge)

    C++设计模式之桥接模式(Bridge) 桥接模式(Bridge)是一种结构型设计模式,它的主要作用是将抽象部分与实现部分分离,使它们可以独立地变化。这使得系统更加灵活、可扩展和易于维护。 桥接模式的定义 桥接模式...

    深入理解JavaScript系列(44):设计模式之桥接模式详解

    桥接模式(Bridge)将抽象部分与它的实现部分分离,使它们都可以独立地变化。 正文 桥接模式最常用在事件监控上,先看一段代码: 代码如下: addEvent(element, ‘click’, getBeerById); function getBeerById(e) {...

    Python设计模式之桥接模式原理与用法实例分析

    本文实例讲述了Python设计模式之桥接模式原理与用法。分享给大家供大家参考,具体如下: 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化. 下面是一个桥接模式的demo: #!/usr/bin...

    设计模式的桥接模式的例子

    桥接模式是设计模式中的一种结构型模式,它旨在将抽象部分与实现部分解耦,使得它们可以独立地变化。这种模式将抽象类和它的实现类进行分离,通过一个抽象接口来连接它们,使得两者可以独立发展,增加了系统的灵活性...

    Java设计模式之桥接模式实例详解

    Java设计模式之桥接模式实例详解 桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与它的实现部分分离,使它们都可以独立地变化。这种模式将继承关系转换为关联关系,从而降低了类与类之间的耦合,...

    设计模式 - 桥接模式

    桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立进行变化。这种模式在软件工程中被广泛应用于处理组件之间的耦合问题,使得系统具有更好的可扩展性和灵活性。 桥接模式的主要组成部分...

    研磨设计模式之桥接模式

    来写一个大家既陌生又熟悉的设计模式,也是非常实用的一个设计模式,那就是桥接模式。说陌生是很多朋友并不熟悉这个设计模式,说熟悉是很多人经常见到或者是下意识的用到这个设计模式,只是不知道罢了。桥接模式是...

    设计模式11桥接模式

    ### 设计模式11桥接模式 #### 模式动机 桥接模式是解决系统中存在多维度变化问题的一种有效手段。例如,在图形绘制场景中,假设需要绘制不同形状(如矩形、圆形、椭圆、正方形)并赋予它们不同的颜色(如红色、...

Global site tag (gtag.js) - Google Analytics