Proxy

20121114

17:17

MethodEmitter

 

—-

 

NHibernate 依赖的

 

 

NHibernate.Bytecode.IBytecodeProvider{

NHibernate.Bytecode.IProxyFactoryFactory{

IProxyFactory{

INHibernateProxy{

ILazyInitializer{

ISessionImplementor

}

}

}

IProxyValidator

}

IReflectionOptimizer{

IAccessOptimizer

IInstantiationOptimizer

}

IObjectsFactory

ICollectionTypeFactory{

CollectionType

}

}

 

 

NHibernate对每一个属性的每次调用,会有Interceptor机制

即每次调用  的调用 方法信息,参数信息都会被包装出对象(InvocationInfo)提供外部 延迟加载机制(Lazy).

 

但是我认为这样的实现会消耗一定的资源。每一次属性的调用都将变得重量级。

 

 

 

NHibernateProxy实现

hbn提供了默认的Proxy实现,但我认为其实现的代码过于晦涩,模型不够清晰自然。虽然耦合度低,但是其实现看起来很松散。没有内聚。

 

 

已使用 Microsoft OneNote 2013 创建。

发表评论

您的电子邮箱地址不会被公开。