java工厂模式的好处能不能具体解释下,大神帮忙

2020-11-23 14:10:14 字数 5889 阅读 5039

1楼:李__彬

让你把重点集中在业务实现上,同时又可以实现松耦合的效果,一举多得

2楼:怎能一窍不通

就是,那个我也不知道的

java里使用工厂模式到底有什么好处?

3楼:匿名用户

如果有许多地方都需要生成a的对象,那么你需要写很多a a=new a()。

如果需要修改的话,你要修改许多地方。

但是如果用工厂模式,你只需要修改工厂**。其他地方引用工厂,可以做到只修改一个地方,其他**都不动,就是解耦了。

4楼:匿名用户

当你的需求只有a这一种情况并且以后的需求也不会变化的话 就完全不用使用工厂模式 模式说白了封装的是变化 当你的需求有变化并且变化比较大比较频繁的话使用模式是一种不错的选择 封装“改变”是设计模式的原则

5楼:

说白了 就是修改变更时省事,

尤其你拿到一个庞大的项目,然后经理让你半天改完,改不完就加班这时就体现这些个模式的可贵之处了,

用了优秀的模式 = 准时下班

没有模式,自己写 = 加班到半夜

6楼:匿名用户

http://baike.baidu.***/view/1306799.htm

java 工厂设计模式有什么好处 回到最好能通俗一点

7楼:哲子贤丶

如果用工厂模式,你只需要修改工厂**。其他地方引用工厂,可以做到只修改一个地方,其他**都不动,就是解耦了,也就是降低了**的耦合性

8楼:李晓友

就是你想有辆车,不用自己造,直接工厂给你造了,你从工厂提车就可以

java工厂模式程序提问,很急很急吖,大神帮帮我。 50

9楼:匿名用户

我只提供部分吧,具体其他的角色及属性你自己加上

abstract class people

class man extends people

}class woman extends people

}class peoplefactory

return people;}}

public class testfactory;

int flag = 0;

system.out.println("我喊:" + sayarray[flag]);

people people = peoplefactory.createpeople(flag);

people.skill();

++flag;

system.out.println("=========");

system.out.println("我喊:" + sayarray[flag]);

people = peoplefactory.createpeople(flag);

people.skill();

random random = new random();

for (int i = 0; i < 10; i++) }}

谁能介绍一下工厂模式的好处

10楼:匿名用户

无式胜有式!阁下甚至不必考虑它的存在!

所谓工厂,必然具备加工的功能!它有助于你的**设计!个人觉得他可以将**模块化!

如果你需要一件jackjones衬衫,你仅仅需要呼叫jackjonesfactory返回一件给你就是!可能你需要考虑jackjonesfactory内部是怎样实现的,但是不应该是你需要一件衬衫时考虑的事情。

11楼:

mvc模式:它能够在后期使你的**比较清晰,修改各层比较方便。控制也非常清晰,别人看你的**也好看,调试也好调。

虽然你现在看不到好处,但是养成一个良好的习惯对以后会有很大的帮助。

12楼:匿名用户

统一管理对象的创建过程

降低耦合

java中的工厂模式是什么意思?

13楼:匿名用户

引用:工厂方法

你会建立一个专门生产sample实例的工厂:

public class factory

}那么在你的程序中,如果要实例化sample时.就使用sample samplea=factory.creator(1);

工厂方法一般都是static的,使用工厂方法不用重复new对象。而且想要更改制造的类的话,只要在工厂模式的方法里更改生成的类就好了,而不用在每个方法里,每个使用这个类的地方重复改**

14楼:李冯芬

工厂模式简单的讲就是用工厂方法代替了new的操作,

在通俗点就是说,你new一个对象的时候直接调用工厂方法就行了,

在编程时,需要定义一个工厂接口,由不同的的子类去实现,再定一个具体工厂类,定义一个产生实例的方法,我们通过这个方法来获得实例就行了,

15楼:匿名用户

建议你看一下大话设计模式这本书,不错的

16楼:匿名用户

工厂模式、简单工厂模式、工厂方法模式

17楼:冀靓令允

spring

structs

hibernate

一起是四大快

java是无所不能

很多技术都联系上java了

java中的工厂模式是什么,请举例说明

18楼:匿名用户

工厂模式在java程序系统可以说是

随处可见。 为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类class生成实例对象,如a a=new a() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。

说白了就是在一个类里写别的类 让外部好调用啊

求大神关于java工厂模式的?

19楼:匿名用户

一个接口可能有多个实现他的类,工厂模式就是由工厂来实例化合适的对象。多态

20楼:夜神月

用静态类型的数据成员限定生成的对象只有一个。

父类保存子类,多态。

21楼:没有响应

你这个不是工厂模式 是单例模式...........

22楼:匿名用户

不实例化的话不就空指针了

23楼:匿名用户

如果没有 = new admininfodaoimpl(); 这个你试下,返回的结果是null。

admininfodao 肯定要赋值的啊。不赋值不就是null咯

java简单工厂模式是什么

24楼:匿名用户

就是专门写一个类,他有一个方法根据传入的参数不同,返回不同的对象。

比如有一台自动售货机autoseller, 然后它卖很多饮料drink, 有茶tea, 有可乐cola, 当你去买的时候,你可能是通过按不同的按钮,但对autoseller的实现来说,他可能都是同样的方法,只是根据不同的参数(按钮),返回给你不同的对象(tea或cola)。

public inte***ce drink ;

}public tea implements drink

public cola implements drink

public class autoseller }}

如上, 在你选择饮料按下按钮里, 自动售货机的**可能只要执行autoseller.getdrink(type)就可以返回你想要的饮料了。

之所以要把drink定义成接口,一般来讲,用这种架构的话, drink里面会声明一些接口方法, 这些方法是tea和cola都需要的, 但drink不用关心方法的具体实现, 具体实现只要由tea和cola去完成。

而你通过autoseller.getdrink(type)去拿到一个drink对象后,可以用这个对象直接去调drink中声明的方法。

25楼:慕夕

简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(static factory method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。

那么简单工厂模式是在什么场景下使用呢,下面就以本人的理解举例说明:

就拿登录功能来说,假如应用系统需要支持多种登录方式如:口令认证、域认证(口令认证通常是去数据库中验证用户,而域认证则是需要到微软的域中验证用户)。那么自然的做法就是建立一个各种登录方式都适用的接口,如下图所示:

public inte***ce login

public class domainlogin implements login

}public class passwordlogin implements login

}我们还需要一个工厂类loginmanager,根据调用者不同的要求,创建出不同的登录对象并返回。而如果碰到不合法的要求,会返回一个runtime异常。

public class loginmanager else if(type.equals("passcode"))else}}

测试类:

public class test else }}

简单工厂模式的结构如下图:

我们可以设想一下真实的场景,如果把上面的test当做一个servlet的话,当客户端发起登录请求——>请求交给服务端的servlet——>servlet根据客户端传递的logintype调用工厂类loginmanager的factory()方法——>factory()方法根据参数logintype创建相应的登录验证类(domainlogin或passwordlogin)并返回——>登录验证类调用方法verify()验证用户名密码是否正确

假如不使用简单工厂模式则验证登录servlet**如下(假设test为一个servlet,变量logintype、name、password表示从客户端传递过来的参数):

public class test else

}//处理域认证

else if(logintype.equals("passcode")) else

}else}}

上面的**会不会很蛋疼啊。。。呵呵

《java与模式》一书中使用java.text.dataformat类作为简单工厂模式的典型例子叙述。

简单工厂模式的优点

模式的核心是工厂类。这个类含有必要的逻辑判断,可以决定在什么时候创建哪一个登录验证类的实例,而调用者则可以免除直接创建对象的责任。简单工厂模式通过这种做法实现了对责任的分割,当系统引入新的登录方式的时候无需修改调用者。

简单工厂模式的缺点

这个工厂类集中了所以的创建逻辑,当有复杂的多层次等级结构时,所有的业务逻辑都在这个工厂类中实现。什么时候它不能工作了,整个系统都会受到影响。

26楼:匿名用户

接着楼上写

publicclassanimal{}publicclasscatextendsanimal{}publicclassdogextendsanimal{}publicclassfishextendsanimal{}/**工厂类*/

publicclassanimalfactoryelseif("dog".equals(name))elseif("fish".equals(name))

returnanimal;}}

publicclasstest}