JAVA简单工厂设计模式:Simple Factory

本文介绍简单工厂模式的概念及其实现方式。通过一个示例展示了如何将对象创建的过程封装起来,并通过简单工厂根据类型参数返回相应的对象实例。文章还提供了完整的Java代码实现。

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

wangking717 写道
简单工厂模式,把对象(统一接口)的创建封装起来,而不去用了解对象所代表的真正的实现类及其初始化过程。我们只需要把参数传递给简单工厂,工厂就会根据你的需要返回相应的产品对象
 

简单工厂模式是大家常用到的一个模式,最直观的还是来看类图吧!



 

 

Iproduct.java  
public interface IProduct{  
    void work();  
}  
   
Product1.java  
public class Product1 implements IProduct{  
    @Override  
    public void work(){  
        System.out.println(this.getClass().getSimpleName());  
    }  
}  
   
Product2.java  
public class Product2 implements IProduct{  
    @Override  
    public void work(){  
        System.out.println(this.getClass().getSimpleName());  
    }  
}  
   
SimpleFactory.java  
public class SimpleFactory{  
    public IProduct getProduct(String type){  
        IProduct pro = null;  
        if("product1".equals(type)){ //如果这里的IF分支很多,可以使用反射方式减少分支 
            pro = new Product1();  
        }else if("product2".equals(type)){  
            pro = new Product2();  
        }else {
            throw new RuntimeException("unknown operating type: "+type);    
        }
        return pro;  
    }  
}
   
Test.java  
public class Test{  
    public static void main(String[] args){  
        IFactory factory = new SimpleFactory();  
          
        IProduct pro1 = factory.getProduct("product1");  
        IProduct pro2 = factory.getProduct("product2");  
          
        pro1.work();  
        pro2.work();  
    }  
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值