什么叫做工厂模式能举个例子吗,他有什么好处 ,

什么叫做工厂木模式能举个例子吗,他有什么好处 ?
2024-11-23 12:31:07
推荐回答(3个)
回答1:

工厂模式的特点就是隐藏了创建示例的细节

打个比方 User teacher student, 老师和学生都是用户的之类

UserFactory.creator("teacher") UserFactory.creator("student")

通过这样的形式,你能隐藏真正创建的细节

而且替换原来的逻辑也变得统一

这个也不是三言两语能讲清楚的

胡乱说说

模式是要在大量的实践中,通过重构来理解的

程序开发本身是个实践性很强的领域

回答2:

顾名思义,工厂模式就相当于一个工厂,比方说你需要一辆汽车,你可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的。下边是一个从网上找到的例子:
public class Father {
protected static String one;

}

class Son1 extends Father{
public Son1(){
one="son1";
}
}

class Son2 extends Father{
public Son2(){
one="son2";
}
}

class Factory{
public Father getSon(String s){
if(s.equals("1")){
return new Son1();
}
else{
return new Son2();
}
}

//main
public static void main(String [] args){
Factory factory=new Factory();
Father father=factory.getSon("2");

//print
System.out.println(father.one);

}
}
上边的例子是获得一个son对象此时我不用去管Father和son的具体实现细节,我只用从Factory获取一个就行了。如果不采用工厂模式的话,那么你如果要获得一个son1就要这样,Father son=new son1();这就要求我们必须熟悉son1类的结构,如果是两个不同的人写的类要进行交互的话,那么这样就有些困难了,所以引入了工厂模式。

回答3:

一楼的说差不多就是,实际上就是隐藏了实现的细节,用户不用关心对象是怎么创建出来的。

你说工厂模式,我理解你是再说简单工厂模式。抽象程度从低到高依次是:简单工厂(simple factory),工厂方法(factory method),抽象工厂(abstract factory)。

这些还是需要在实际中应用,例如在做项目的时候做设计的时候用到。否则只是枯燥的学,很难理解,即使理解了也记不长久。

我按照设计模式一书写过简单的例子,如果需要可以发给你一份。是用myeclipse的,要是不会用myeclipse的话,发了也没用估计。