一.
简单工厂模式是指定义一个工厂类,该类能根据不同参数返回不同类的实例,被创建的实例有共同的父类。该模式又称静态工厂方法模式 。
二.
简单工厂模式包括3个角色:
①抽象产品类 ,负责定义所有具体产品的公共接口;
②具体产品类 ,抽象产品的子类,是简单工厂模式的创建目标,所有被创建的对象都是某个具体产品类的实例;
③工厂类 ,负责实现创建所有具体产品类的实例的内部逻辑,工厂类可以被外界直接调用。
如下:
package mei.qiu.suger;
//抽象产品类
abstract class Candy {
abstract void diaplay();
}
//具体产品类
class HardCandy extends Candy{
void diaplay() {
System.out.println("生产硬糖");
}
}
class SoftCandy extends Candy{
void diaplay() {
System.out.println("生产软糖");
}
}
//工厂类
class CandyFactory {
public static Candy createCandy(String Name){
Candy candy = null;
switch(Name){
case "硬糖":
candy = new HardCandy();
break;
case "软糖":
candy = new SoftCandy();
break;
default:
System.out.println("暂时能生产该糖果:" + Name);
}
return candy;
}
}
public class Demo {
public static void main(String[] args) {
Candy HardCandy = CandyFactory.createCandy("硬糖");
HardCandy.diaplay();
Candy SoftCandy = CandyFactory.createCandy("软糖");
SoftCandy.diaplay();
}
}
结果为:
生产硬糖
生产软糖
简单工厂模式根据产品名获得对应的实例对象,解耦了定义与应用,增加程序灵活性,减轻了编程人员的记忆负担。