ssh中使用泛型后,是不是就可以把工厂模式给去掉了

时间:2021-02-23 14:24:51
使用泛型前,使用工厂读取xml创建dao,如果数据库变动,
那么替换xml就可以

现在使用了泛型,原来的dao都没有了,是不是就没有工厂模式 了

9 个解决方案

#1


工厂模式?设计的工厂模式不是lz说的工厂模式,呵呵,我看了老久才看懂lz问什么

#2


引用 1 楼 czmchen 的回复:
工厂模式?设计的工厂模式不是lz说的工厂模式,呵呵,我看了老久才看懂lz问什么


是哎!!!

#3


就是daofactory

#4


所谓的SSH:Struts,Spring,Hibernate。操作数据库交给Hibernate了,sessionFactory在spring注入到dao中,不用管daofactory,扔给spring就可以很好管理好session的问题。

OOP开发,还是会用到daofactory创建表和测试,部署工程可以省去

#5


所谓泛型,就是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
它主要起到的作用也就是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

#6


泛型只是起一个规定作用,是指定你这个属性必须要返回的类型。
如果返回的值不是泛型里面要求的类型,那么这个属性就不会接收这个值,提示错误。
工厂模式跟泛型是没有什么关系的。
工厂模式只是hibernate里启动服务的一种模式,通常说的sessionFactory,看字面就知道是跟session有关的东西啦。

#7


怎么 难道是我的思维太混乱。。。
原来是用一个工厂返回实例
public class ACLDaoFactory {
public static ACLDao getACLDaoImpl(){
return new ACLDaoImpl();
}
}

在spring里配置好,调用
<bean name="acldaoimpl" class="factory.ACLDaoFactory" factory-method="getACLDaoImpl">
<property name="sessionFactory" ref="sf"></property>
</bean>

<bean name="acllistaction" class="action.ACLAction" scope="prototype">
<property name="md" ref="moduledaoimpl"></property>
</bean>


现在使用了泛型,dao 从 抽象hibernateDao 继承下来,方法都被抽象类给实现了,
工厂是不是就没有了,我是这个意思

#8


工厂会在你引进的外部jar包里自动生成个。如果你有兴趣的话,你可以把一个正确的dao debug一下,一步一步的进去看,你就能看到它自己在里面创建的工厂。
工厂是一定有的。

#9


那么是不是就不用手写factory了呢?

#1


工厂模式?设计的工厂模式不是lz说的工厂模式,呵呵,我看了老久才看懂lz问什么

#2


引用 1 楼 czmchen 的回复:
工厂模式?设计的工厂模式不是lz说的工厂模式,呵呵,我看了老久才看懂lz问什么


是哎!!!

#3


就是daofactory

#4


所谓的SSH:Struts,Spring,Hibernate。操作数据库交给Hibernate了,sessionFactory在spring注入到dao中,不用管daofactory,扔给spring就可以很好管理好session的问题。

OOP开发,还是会用到daofactory创建表和测试,部署工程可以省去

#5


所谓泛型,就是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
它主要起到的作用也就是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

#6


泛型只是起一个规定作用,是指定你这个属性必须要返回的类型。
如果返回的值不是泛型里面要求的类型,那么这个属性就不会接收这个值,提示错误。
工厂模式跟泛型是没有什么关系的。
工厂模式只是hibernate里启动服务的一种模式,通常说的sessionFactory,看字面就知道是跟session有关的东西啦。

#7


怎么 难道是我的思维太混乱。。。
原来是用一个工厂返回实例
public class ACLDaoFactory {
public static ACLDao getACLDaoImpl(){
return new ACLDaoImpl();
}
}

在spring里配置好,调用
<bean name="acldaoimpl" class="factory.ACLDaoFactory" factory-method="getACLDaoImpl">
<property name="sessionFactory" ref="sf"></property>
</bean>

<bean name="acllistaction" class="action.ACLAction" scope="prototype">
<property name="md" ref="moduledaoimpl"></property>
</bean>


现在使用了泛型,dao 从 抽象hibernateDao 继承下来,方法都被抽象类给实现了,
工厂是不是就没有了,我是这个意思

#8


工厂会在你引进的外部jar包里自动生成个。如果你有兴趣的话,你可以把一个正确的dao debug一下,一步一步的进去看,你就能看到它自己在里面创建的工厂。
工厂是一定有的。

#9


那么是不是就不用手写factory了呢?