Java设计模式之简单工厂模式

本文介绍简单工厂模式(Static Factory Method Pattern),一种常见的类创建模式。文章详细解释了该模式的基本概念,通过示例代码展示了如何使用一个具体工厂类来创建多种不同类型的产品实例,并讨论了这种模式的优缺点。

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

一、概述  
简单工厂模式(Simple Factory),又称静态工厂方法模式,是类的创建模式。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类
详细说明如下:
    一个具体工厂通过条件语句创建多个产品,产品的创建逻辑集中与一个工厂类。
    客户端通过传不同的参数给工厂,实现创建不同产品的目的
    增加新产品时,需要修改工厂类、增加产品类,不符合OCP原则

二、具体代码
//生产产品的工厂类
public class ProductFactory{
  public static Product generateProduct(int which){ //这个方法是static的
  if (which==1)
    return new ProductA();
  else if (which==2)
    return new ProductB();
  }
}

//抽象产品
public interface Product {
     .....
}

//具体产品A
public ProductA implement Product {
     ProductA () {}
}

//具体产品B
public ProductB implement Product {
     ProductB () {}
}

//调用工厂方法
public Client {
     public method1() {
         ProductFactory.generateProduct(1);
     }
}

 
interface a{}

class b implements a{};

class c implements a{};

//工厂类
public class factory{
     public static a createa(string name){
         class cls=class.forname(name);
         object obj=cls.getinstance();
         return (a)obj;
     }
}
//创建实例时
a b=factory.createa("b");
a  c=factory.createa("c"); 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值