设计模式之桥接模式(Bridge)简单实例

本文通过一个具体的Java示例深入解析了桥接模式的概念及其应用场景。桥接模式作为适配器模式的一种变种,通过将抽象与实现分离来提高系统的灵活性和可扩展性。文中提供了完整的代码实现,并展示了如何根据不同条件创建不同类型的对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

桥接模式

1桥接模式就是适配器模式的变种,把另外一个类也变成了接口或抽象类,让他更加动态,其实设计模式的最终目的就是为了让代码改动量更小的前提下完成要扩展的业务,方便维护。就是个加强版的适配器模式。原理没有太大差别,也不算难

2 具体实现类

/**
 * 
 * @author chaigw
 *
 */
public class BridgeDesign {

	public static void main(String[] args) {
		BridgeDesign bridge = new BridgeDesign();

		GradeOne one= bridge.new GradeOne("smart");
		one.getGradeName();

		GradeTwo two= bridge.new GradeTwo("smart");
		two.getGradeName();
		
		System.out.println("-------------->");
		
		GradeOne one2= bridge.new GradeOne("stupid");
		one2.getGradeName();

		GradeTwo two2= bridge.new GradeTwo("stupid");
		two2.getGradeName();
		
	}

	class GradeOne extends Grade{
		private String gradeName = "一班的";
		Student student = null;
		public GradeOne(String type) {
			this.student = getStudent(type);
		}
		
		public void getGradeName()
		{
			System.out.println("小明是"+gradeName);
			student.getStudentType();
		}
	}
	
	class GradeTwo extends Grade{
		private String gradeName = "二班的";
		Student student = null;
		public GradeTwo(String type) {
			this.student = getStudent(type);
		}
		
		public void getGradeName()
		{
			System.out.println("小明是"+gradeName);
			student.getStudentType();
		}
	}
	
	
	abstract class Grade
	{
		abstract void getGradeName();
		
		public Student getStudent(String name)
		{
			if("smart".equals(name))
			{
				return new SmartStudent();
			}
			else if ("stupid".equals(name)) {
				return new StupidStudent();
			}
			else {
//				System.out.println("类型比较一般");
				return null;
			}
		}
	}
	
	interface Student
	{
		void getStudentType();
	}
	
	class StupidStudent implements Student{

		
		public void getStudentType() {
			System.out.println("小明是笨的学生");
		}
		
	}
	
	class SmartStudent implements Student{

		public void getStudentType() {
			System.out.println("小明是聪明的学生");
		}
		
	}
}




3 结果

小明是一班的
小明是聪明的学生
小明是二班的
小明是聪明的学生
-------------->
小明是一班的
小明是笨的学生
小明是二班的
小明是笨的学生




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静山晚风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值