Warning: mysqli_num_fields() expects parameter 1 to be mysqli_result, boolean given in /www/wwwroot/dev.zhalaotie.com/wp-includes/wp-db.php on line 3215

Warning: mysqli_num_fields() expects parameter 1 to be mysqli_result, boolean given in /www/wwwroot/dev.zhalaotie.com/wp-includes/wp-db.php on line 3215
Proxy – 扎老铁
Warning: mysqli_num_fields() expects parameter 1 to be mysqli_result, boolean given in /www/wwwroot/dev.zhalaotie.com/wp-includes/wp-db.php on line 3215

Warning: mysqli_num_fields() expects parameter 1 to be mysqli_result, boolean given in /www/wwwroot/dev.zhalaotie.com/wp-includes/wp-db.php on line 3215
Warning: mysqli_num_fields() expects parameter 1 to be mysqli_result, boolean given in /www/wwwroot/dev.zhalaotie.com/wp-includes/wp-db.php on line 3215
class="post-51981 post type-post status-publish format-standard hentry">

Proxy

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 创建。

发表评论

电子邮件地址不会被公开。