什么时候能用到工厂模式(factory),它有什么作用?

时间:2022-09-16 16:00:50
1、一般做j2ee开发时,什么时候能用到工作模式?
2、它有什么作用?

3 个解决方案

#1


<<j2ee企业级应用开发>>中说:
1 一个系统要独立于它的产品的创建,组合和表示时;
2 一个系统要生成多个产品族,而系统只消费其中某一族的产品时;
3  当设计者要强调一系列相关产品对象的设计以便进行联合使用时;
4  当系统提供一个产品类库时,所有的产品以同样的接口出现,从而使客户端不依赖于实现;
GOF指出在上述情况下使用抽象工厂.

它的作用是:提供一个创建相关获相互依赖的对象的接口,无需指定具体的类

#2


在设计模式中,Factory Method也是比较简单的一个,但应用非常广泛,EJB,RMI,COM,CORBA,Swing中都可以看到此模式的影子,它是最重要的模式之一.在很多地方都会看到xxxFactory这样命名的类
Factory Method是一种创建性模式,它定义了一个创建对象的接口,但是却让子类来决定具体实例化哪一个类.当一个类无法预料要创建哪种类的对象或是一个类需要由子类来指定创建的对象时我们就需要用到Factory Method 模式了.简单说来,Factory Method可以根据不同的条件产生不同的实例,当然这些不同的实例通常是属于相同的类型,具有共同的父类.Factory Method把创建这些实例的具体过程封装起来了,简化了客户端的应用,也改善了程序的扩展性,使得将来可以做最小的改动就可以加入新的待创建的类. 通常我们将Factory Method作为一种标准的创建对象的方法,当发现需要更多的灵活性的时候,就开始考虑向其它创建型模式转化

#3


只要你的代码结构良好,至于到底有没有所谓的设计模式,根本就是不重要的了。打个不恰当的比喻,一个好的杀手,他的目标就是一剑封喉,干脆利索的杀了目标,你管他杀人用的那一招究竟是华山派的什么剑法,还是嵩山派的什么剑法。达到目标就行了。而且你的剑法练到一定的程度,你可以自创剑法,这个世界绝没有你练熟了世界上的剑法,你就是绝顶高手的道理。至于你已经达到了高手的境界以后,一招一式无不合剑道之极致。,也就根本无所谓用什么招式了


引用:http://www.hibernate.org.cn/viewtopic.php?t=2556&postdays=0&postorder=asc&start=0#10293

#1


<<j2ee企业级应用开发>>中说:
1 一个系统要独立于它的产品的创建,组合和表示时;
2 一个系统要生成多个产品族,而系统只消费其中某一族的产品时;
3  当设计者要强调一系列相关产品对象的设计以便进行联合使用时;
4  当系统提供一个产品类库时,所有的产品以同样的接口出现,从而使客户端不依赖于实现;
GOF指出在上述情况下使用抽象工厂.

它的作用是:提供一个创建相关获相互依赖的对象的接口,无需指定具体的类

#2


在设计模式中,Factory Method也是比较简单的一个,但应用非常广泛,EJB,RMI,COM,CORBA,Swing中都可以看到此模式的影子,它是最重要的模式之一.在很多地方都会看到xxxFactory这样命名的类
Factory Method是一种创建性模式,它定义了一个创建对象的接口,但是却让子类来决定具体实例化哪一个类.当一个类无法预料要创建哪种类的对象或是一个类需要由子类来指定创建的对象时我们就需要用到Factory Method 模式了.简单说来,Factory Method可以根据不同的条件产生不同的实例,当然这些不同的实例通常是属于相同的类型,具有共同的父类.Factory Method把创建这些实例的具体过程封装起来了,简化了客户端的应用,也改善了程序的扩展性,使得将来可以做最小的改动就可以加入新的待创建的类. 通常我们将Factory Method作为一种标准的创建对象的方法,当发现需要更多的灵活性的时候,就开始考虑向其它创建型模式转化

#3


只要你的代码结构良好,至于到底有没有所谓的设计模式,根本就是不重要的了。打个不恰当的比喻,一个好的杀手,他的目标就是一剑封喉,干脆利索的杀了目标,你管他杀人用的那一招究竟是华山派的什么剑法,还是嵩山派的什么剑法。达到目标就行了。而且你的剑法练到一定的程度,你可以自创剑法,这个世界绝没有你练熟了世界上的剑法,你就是绝顶高手的道理。至于你已经达到了高手的境界以后,一招一式无不合剑道之极致。,也就根本无所谓用什么招式了


引用:http://www.hibernate.org.cn/viewtopic.php?t=2556&postdays=0&postorder=asc&start=0#10293