博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

2011年6月24日

摘要: 动态代理的原理 原理其实很简单,就是在运行时生成新的对象,姑且叫做T,并使T继承自需要代理的原对象,调用过程实际是调用了新的对象T.通过对T中方法或属性等,添加些自定义的操作,从而实现对原对象访问的封装.动态代理实现(利用castle)castle的动态代理需要下面几步自定义一个拦截器,必须实现 IInterceptor 接口 使用 ProxyGenerator 对象创建代理对象,对象中包含很多方法 对原对象的所有操作,都使用代理对象代替 在拦截器的方法中,加入自定义的操作,比如 记录参数调用日志,异常记录等. 简单拦截器实现代码: SampleInterceptor.csC#代码usingS 阅读全文

posted @ 2011-06-24 12:58 codingsilence 阅读(486) 评论(0) 推荐(0) 编辑

摘要: 久仰ORM大名由来已久,但真正学习ORM才是前两周的事,在网上挑来拣去,终于决定好好学习一下NHibernate(IBatisNet我也比较感兴趣,但是鉴于时间有限,暂时搁置),一来因为其鼻祖Hibernate名气大,二来嘛,因为它是开源的,有机会看看它的源码,呵呵! 上网搜了好久,没搜到几篇文档,没法子只能啃Hibernate的文档慢慢学习了,不久我就发现一个问题:NHibernate好像不能同时操作几个数据库嘛?假设有这样分布式系统,它有N个客户端,一个应用程序服务器,多个数据库服务器,客户端可以根据自己的配置通过应用程序服务器连接到不同的数据库服务器(应该就是听棠描述的所谓多帐套),NH 阅读全文

posted @ 2011-06-24 12:49 codingsilence 阅读(205) 评论(0) 推荐(0) 编辑