-1

工厂后缀代表什么?

4

3 回答 3

4

工厂对象是其唯一目的是创建(实例化)其他对象的对象。NHibernate 使用 SessionFactory 来管理 ISessions 的创建。

通过同样的措施 - ProxyFactoryFactory 创建一个可以生产代理的工厂。它解决的更大问题是它允许在代码中保持一定程度的抽象,以便两个不同的模块不需要了解彼此的实现细节(即具体实例)就可以一起工作。

如果我们在想要打开会话时必须创建一个新的 NHibernate SessionImpl,我们需要能够在本地范围内提供它的所有依赖项。这是 NHibernate 中 SessionFactoryImpl 中实际创建会话的代码:

        SessionImpl session = new SessionImpl(connection, this, autoClose, timestamp, sessionLocalInterceptor ?? interceptor,
                                              settings.DefaultEntityMode, settings.IsFlushBeforeCompletionEnabled,
                                              settings.IsAutoCloseSessionEnabled, settings.ConnectionReleaseMode);

我宁愿只使用

sessionFactory.OpenSession();

而不是必须管理所有这些依赖项;)

于 2010-09-24T08:11:02.150 回答
3

因为它的唯一责任是创建一个会话:一个生产会话的工厂。

于 2010-09-24T06:40:12.220 回答
3

工厂是一种设计模式。它是一个创建对象的类。会话工厂创建会话。

于 2010-09-24T06:58:20.913 回答