⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 g_bridge.java

📁 超好的设计模式Java事例程序
💻 JAVA
字号:
/*

BRIDGE—早上碰到MM,要说早上好,晚上碰到MM,要说晚上好;碰到MM穿了件新衣服,要说你的衣服好漂亮哦,碰到MM新做的发型,要说你的头发好漂亮哦。不要问我“早上碰到MM新做了个发型怎么说”这种问题,自己用BRIDGE组合一下不就行了 

  桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。

桥模式提倡抽象的接口和它的实现分离。通常,抽象是指识别具有特殊用途的对象的一组属性和行为的过程。设计对象的这个特殊视图是为了把对象与那些不相干的属性和行为分离。这样得到的对象就是一个抽象。注意一个给定的对象因不同的用处可以有多个相关的抽象。


(1)适配器模式的目标是使因为接口不兼容不能交互的类可以联系在一起。
一个适配器可以改变现存对象的接口。在我们讨论适配器模式时已经看到,一个适配器
需要一个适配者(现存),这显示了适配器模式在系统设计初期很实用。
    (2)桥模式更偏重于是一个设计期模式,在设计者想控制系统的类时可以使用。
它适用于系统已经被实现以前,可以让抽象接口和它的实现在互不影响的情况下可以独立的
改变。
    (3)在桥模式中,不存在互不兼容的接口。客户对象总是使用抽象接口类所暴楼的
接口。因此桥模式和适配器模式适用于解决不同的设计问题。


*/


public class G_Bridge{
	public static void main(String[] args) {
		MeetAtMorning mm=new MeetAtMorning();
		MeetAfternoon mn=new MeetAfternoon();
		PaeanOnClothes pc=new PaeanOnClothes(mn);
		pc.say();
	}
}

interface Meet{
	public void hail(String content);
}	

interface Paean{
	public void say();
}

class MeetAtMorning implements Meet{
	public void hail(String content){
		System.out.println("早上好 "+content);
	}
}


class MeetAfternoon implements Meet{
	public void hail(String content){
		System.out.println("下午好 "+content);
	}
}

class PaeanOnClothes implements Paean{
	Meet m;
	public PaeanOnClothes(Meet m){
		this.m=m;
	}
	public void say(){
		m.hail("你的衣服真好看");
	}
}


class PaeanOnHair implements Paean{
	Meet m;
	public PaeanOnHair(Meet m){
		this.m=m;
	}
	public void say(){
		m.hail("你的头发真好看");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -