简单工厂模式

本文介绍了简单工厂模式(静态工厂模式)的基本概念,包括其关系图、优缺点,并提供了详细的Java代码实现示例,展示了如何通过该模式创建不同类型的汽车产品。

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

简单工厂模式(静态工厂模式)

(1)关系图:

(2)优点:

1.客户端无需知道创建产品的具体逻辑,只需要知道产品创建的参数即可

2.可以在不修改客户端代码的情况下添加新的产品和修改旧的产品

(3)缺点

1.添加新产品需要修改工厂类的逻辑,不利于系统扩展和维护,不符合开闭原则

2.简单工厂模式使用了静态工厂方法,造成工厂角色无法形成基于继承的等级结构

(4)Java代码实例

①Factory

public class CarFactory {
	 public static Car getCar(String type) throws Exception{
	        if(type.equals("Benz")){
	            return new Benz();
	        }else if(type.equals("Audi")){
	            return new Audi();
	        }else{
	            throw new Exception();
	        }
	    }
}

②ProductParent

public abstract class Car {
    public abstract void drive();
}

③Product

public class Audi extends Car{

	@Override
	public void drive() {
		// TODO Auto-generated method stub
		System.out.println("Audi");
	}

}
public class Benz extends Car{

	@Override
	public void drive() {
		// TODO Auto-generated method stub
		System.out.println("Benz");
	}

}

④Main

public class Main {
	static public void main(String [] args) throws Exception
	{
		CarFactory factory = new CarFactory();
		Car car = factory.getCar("Audi");
		car.drive();
		car = factory.getCar("Benz");
		car.drive();
	}

}

(5)JDK中应用


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值