一、引言
每天进步一点点,每天快乐一点点。
二、什么是简单工厂模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。
三、简单工厂模式类图
四、简单工厂模式的适用性
- 当一个类不知道它所必须创建的对象的类的时候。
- 当一个类希望由它的子类来指定它所创建的对象的时候。
- 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
五、简单工厂模式中需要的角色
1)工厂角色:这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。在java中它由抽象类或者接口来实现。
2)抽象产品角色:它是具体产品继承的父类或者是实现的接口。在java中一般有抽象类或者接口来实现。
3)具体产品角色:具体工厂角色所创建的对象就是此角色的实例。在java中由具体的类来实现。
六、举例说明
上面的都是理论层面的,下面看看实现代码吧。
代码结构如下:
Product.java
package designModeSimpleFactoryTest;ProductA.java
//抽象产品角色
public interface Product {
public void doSomething();
}
package designModeSimpleFactoryTest;
//具体产品A角色
public class ProductA implements Product{
public ProductA(){
System.out.println("ProductA is create");
}
public void doSomething(){
System.out.println("A do something");
}
}
ProductFactory.java
package designModeSimpleFactoryTest;
//工厂角色
public class ProductFactory {
public Product create(){
return new ProductA();
}
}
SimpleFactoryTest.java
package designModeSimpleFactoryTest;
//测试类
public class SimpleFactoryTest {
public static void main(String args[]){
//工厂生产产品
ProductFactory factory=new ProductFactory();
Product product= factory.create();
product.doSomething();
}
}
运行结果
ProductA is create
A do something
七、总结
简单工厂模式功能十分单一,只生产一种产品,实现工厂角色的工厂类负责了生产产品的所有工作。简单工厂模式是由一个具体的类去创建其他类的实例,父类是相同的,父类是具体的。
/*
QQ讨论群组:372702757
*/