java学习笔记之工厂模式——2021/03/22

本文介绍了工厂方法模式的应用,通过一个宝马车系列的实例展示了如何使用该模式进行对象创建的延迟,降低了代码间的耦合。具体实现包括定义宝马车产品接口和各个车型的实现,以及创建相应的生产工厂接口和实现。测试类展示了如何通过工厂方法获取不同型号的宝马车对象,实现了代码的灵活性和扩展性。

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

工厂模式(FactoryMethod)

一、相关概念

FactoryMethod模式是设计模式应用最为广泛的模式,在面向对象的编程中,对象的创建工作非常简单,对象的创建时机却很重要。FactoryMethod解决的就是这个问题,它通过面向对象的手法,将所要创建的具体对象的创建工作延迟到了子类,从而提供了一种扩展的策略,较好的解决了这种紧耦合的关系。

二、工厂方法举例

在真正的开发工作中,都是合作开发,每个开发人员写部分代码,大家集合在一起就是一个项目。
在这里插入图片描述

  1. 定义宝马车的产品接口
//BWM.java
/*
宝马车的产品接口
*/
public interface BWM{
	//产品的信息介绍
	//车的发动方式
	void showInfo();

/*
构建具体的车的类
*/

class BWM3 implements BWM{
	
	@Override
	public void showInfo(){
		System.out.println("这个是宝马3系车");
	}
}

class BWM5 implements BWM{
	
	@Override
	public void showInfo(){
		System.out.println("这个是宝马5系车");
	}
}

class BWM7 implements BWM{
	
	@Override
	public void showInfo(){
		System.out.println("这个是宝马7系车");
	}
}
}
  1. 建一个工厂接口
//BWMFactory.java
/*
汽车生产工厂接口
*/
public interface BWMFactory{
	BWM productBWM();
}

/*
实现具体的车型的生产工厂
*/
class BWM3Factory implements BWMFactory{
	
	@Override
	public BWM productBWM(){
		System.out.println("生产宝马3系车");
		return new BWM3;
	}
}

class BWM5Factory implements BWMFactory{
	
	@Override
	public BWM productBWM(){
		System.out.println("生产宝马5系车");
		return new BWM5;
	}
}

class BWM7Factory implements BWMFactory{
	
	@Override
	public BWM productBWM(){
		System.out.println("生产宝马7系车");
		return new BWM7;
	}
  1. 建一个测试类
//Test2,java
public class Test2{
	public static void main(String[] args){
		BWM b3 = new BWM3Factory().productBWM();
		b3.showInfo();
		
		BWM b5 = new BWM5Factory().productBWM();
		b5.showInfo();
	
		BWM b7 = new BWM7Factory().productBWM();
		b7.showInfo();
	}
}

输出:
在这里插入图片描述

  • 通过工厂把new对象给隔离,通过产品的接口可以实现不同实际产品的实现类,实例的类名的改变不影响其他合作开发人员的编程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值