创建型模式(前引)简单工厂模式Simple Factory

时间:2023-03-08 20:13:48

一引出的原因(解决下面的问题)

简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。
在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 
创建型模式(前引)简单工厂模式Simple Factory
二代码实现
1.创建接口
public interface TV
{
public void play();
}

2.创建接口的实现类

HaierTV.java
public class HaierTV implements TV
{
public void play()
{
System.out.println("海尔电视机播放中......");
}
}
HisenseTV.java
public class HisenseTV implements TV
{
public void play()
{
System.out.println("海信电视机播放中......");
}
}

3.创建工厂类

public class TVFactory
{
public static TV produceTV(String brand) throws Exception
{
if(brand.equalsIgnoreCase("Haier"))
{
System.out.println("电视机工厂生产海尔电视机!");
return new HaierTV();
}
else if(brand.equalsIgnoreCase("Hisense"))
{
System.out.println("电视机工厂生产海信电视机!");
return new HisenseTV();
}
else
{
throw new Exception("对不起,暂不能生产该品牌电视机!");
}
}
}

三.经典应用

权限管理

四.在Java语言中的应用

1. 在JDK类库中广泛使用了简单工厂模式,如工具类java.text.DateFormat,它用于格式化一个本地日期或者时间。
public final static DateFormat getDateInstance();
public final static DateFormat getDateInstance(int style);
public final static DateFormat getDateInstance(int style,Locale locale);

2.Java加密技术

//获取不同加密算法的密钥生成器
KeyGenerator keyGen=KeyGenerator.getInstance("DESede"); //创建密码器
Cipher cp=Cipher.getInstance("DESede");