Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HibernateSessionFactory是Factory模式的一个示例吗_Java_Hibernate_Design Patterns - Fatal编程技术网

Java HibernateSessionFactory是Factory模式的一个示例吗

Java HibernateSessionFactory是Factory模式的一个示例吗,java,hibernate,design-patterns,Java,Hibernate,Design Patterns,如果不是,工厂模式和抽象工厂模式的标准实现是什么?当您想要创建实例时,会使用工厂设计模式,但是您每次都需要将大量信息传递给构造函数,因此使用构造函数变得不切实际 工厂实例拥有许多状态,这些状态对于创建的所有实例都是公共的,然后它就能够使用这些信息构造新实例 通常,在工厂中会有类似于.create()的方法,它也可能需要一些参数;传递给.create()的参数中的信息以及工厂保存的信息将一起用于构建工厂创建的任何类型的新实例 要回答您的问题,可以,HibernateSessionFactory使用

如果不是,工厂模式和抽象工厂模式的标准实现是什么?

当您想要创建实例时,会使用工厂设计模式,但是您每次都需要将大量信息传递给构造函数,因此使用构造函数变得不切实际

工厂实例拥有许多状态,这些状态对于创建的所有实例都是公共的,然后它就能够使用这些信息构造新实例

通常,在工厂中会有类似于
.create()
的方法,它也可能需要一些参数;传递给
.create()
的参数中的信息以及工厂保存的信息将一起用于构建工厂创建的任何类型的新实例

要回答您的问题,可以,
HibernateSessionFactory
使用工厂设计模式

您可以查看
ThreadFactory
了解另一个示例


解释工厂方法和抽象工厂模式之间的区别。

SessionFactory是一个实现工厂设计模式的单例实例。由于术语(简单工厂与工厂方法与抽象工厂)的不同,存在许多混淆。一个很好的代码参考是--Factory方法有一个多态方法,这意味着有一个子类将实现该方法并实例化所创建对象的实例。iterator()是工厂方法的一个很好的例子。看见