1,简单工厂模式,当我们创建了一个父类(或接口类)时,又创建了很多的子类来继承它。这时,我们对这些子类进行实例化,就需要一个一个的new,当我们创建的实例越来越多的时候,就需要new出不同的类型,我们不断要new出实例,还要考虑对象的类型,并且原来的实例需要改变的时候,就会触及到很多的改动。这时简单工厂模式该派上用场了;
2,抽象工厂模式,简单工厂模式对于单一,数量有限的产品时是很有效的,当我们的产品数量很多,并且有不同的品种的时候,这时简单工厂模式就不适合了,就需要工厂方法,或抽象工厂。这时抽象工厂模式该派上用场了;
3,举例:
public interface Product{}
public class Product1 implements Product //产品1继承接口Product
{
public void getMessage()
{
System.out.println("I am Product1");
}
}
public class Product2 implements Product //产品2继承接口Product
{
public void getMessage()
{
System.out.println("I am Product2");
}
}
public class Factory //Factory类工厂
{//简单工厂模式实际上就是工厂类根据不同参数,来对不同的产品进行实例化
public Product getProduct(int i)
{
if (i==1)
{
return new Product1();
}
if (i==2)
{
return new Product2();
}
}
} |