12 2010 档案

摘要:任意两个对象,对他们存在相同的字段赋值,字段包括普通property,其他类对象,父类的property。由于是任意对象,不知道类型,因此一般的做法是直接调用反射,spring.net内部封装了任意对象赋值的方法,但是经过我的测试,发现它的速度比直接反射还慢,不知道是自己哪里没有优化,还是方法执行有问题,粗略看了一下spring.net内部源代码,发现它自己实现了表达式树和AST来解析它的包装对象,没太看明白,如果有谁之前研究过,可以分享一些技术文章出来。本次用直接反射,Spring.net的ObjectWrapper和jeffreyzhao的FastReflectionLib http:// 阅读全文
posted @ 2010-12-25 19:39 Lawson 阅读(920) 评论(0) 推荐(0) 编辑
摘要:本文不讲这3大框架的内部实现原理,只是提供了一个demo,分别实现了它们实现注入属性、拦截消息的例子,以写日志为例,写日志方式用异步还是同步ILogType作为写日志方式,注入日志存放地方ILogStore来演示基本的aop、ioc功能。spring.net用的1.3.1,官网http://www.springframework.net/,castle windsor用的2.5.2,官网http://www.castleproject.org/,unity用的2.0,它是微软开源项目,可在http://unity.codeplex.com/下载,该demo用的这3大框架里的依赖注入容器均为最新 阅读全文
posted @ 2010-12-21 20:34 Lawson 阅读(2365) 评论(0) 推荐(1) 编辑
摘要:本来打算主键ID用触发器生成,因为程序只需要一次IO就能插入一条数据。图在下面,这里assigned不能改为native,从配置中看,是程序来生成ID,但实际oracle接受到插入消息后,触发器自动用序列替换了ID,因此遇到一个问题,就是程序不能获取到刚才插入的实体的主键ID,于是改为配置文件中指定序列创建ID,为了看它生成的sql和连接数据库的IO次数,我用NHibernateProfiler和sql server profiler进行了检测,oracle没找到好的检测连接sql的工具,因此用mssql的检测工具检测了下。用NHibernateProfiler检测生成sql时,迷惑了我,由于 阅读全文
posted @ 2010-12-05 19:35 Lawson 阅读(943) 评论(0) 推荐(0) 编辑
摘要:这个问题断断续续困扰了我一段时间,在网上搜遍了,没搜到谁真正说解决了这个问题。项目里用spring.net包装的Nhibernate操作oracle数据库一直没出现类试问题,但这次用纯Nhibernate连oracle老是报错,最后解决了才发现是NHibernate版本问题引起的(这个报错确实很迷惑人,感觉像hbm.xml引起的问题)。用纯的NHibernate,当时为了快点测试自己想做的程序,就下了别人的DEMO直接用,虽然现在好像出3.0版本了,DEMO是2.0.0.4000版本的,我项目里用spring.net包装的nhibernate是2.1.0.4000版本的,一直用的很好,找啊搜啊 阅读全文
posted @ 2010-12-05 01:02 Lawson 阅读(991) 评论(0) 推荐(0) 编辑
摘要:我认为任何业务系统的开发,不管b/s还是c/s,核心精力都应该是放在对逻辑和对高性能,安全性的几H的处理,底层和系统结构应该由架构师考虑好形成统一风格,前端应该由美工来完善,因此我觉得一个节约人力又要把系统做很好,一方面前期把系统结构考虑好,另一方面用codesmith类试的生成整个系统。尤其像CMS后台这种,结构固定,如果还用EXT来做,前端展现也固定,可以快速生成出来,再少量人对细节进行处理,... 阅读全文
posted @ 2010-12-02 22:24 Lawson 阅读(918) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示