工厂模式其实主要就是用来为我们创建对象用的。工厂模式分为工厂方法模式和抽象工厂模式。如果我们在程序中要用
到一个类,而这个类与其他类关系不是很紧密,那么我就可以考虑用工厂方法模式来解决。如果程序中用到的几个类之间
有一定的联系时,我们可以考虑用抽象工厂模式,就好比一个工厂可以生产不同的有一定联系的产品一样。
假如我们现在要创建Product类,当然我们可以直接用new Product( parameter )来创建。但是如果我们能把这个创建任务
交给一个方法,我们创建的时候之要告诉这个方法,我要创建这个类,然后这个方法就可以去给我创建了,至于具体怎么
创建的,我们不管,这也体现了封装的原则。
假如现在我们要创建两个或者更多的类,而这些类又同时是为我们某个类或者某几个类服务的,并且他们之间也有一定
的联系,这时候我们就可以用抽象工厂模式来创建。我们创建的时候只要用同一个工厂实例去创建我们需要的所有的类。
//工厂方法
public class Factory {
public static Product creatProduct(){
//在这里还可以添加具体创建的细节。
return new Product( prarameter );
}
}
//抽象工厂
public Interface Factory{
public Product_One creatOne();
public Product_Two creatTwo();
}
public class subFactory{
public Product_One creat(){
return new Product_One();
}
public Product_Two creatTwo(){
return new Product_Two();
}
}