工厂后缀代表什么?
问问题
1102 次
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 回答