面向对象程度越高,性能越低。正好项目在不久的将来就会遇到大并发的情况,所以目前不得不对项目做一些性能上的优化处理。
由于项目采用了统一权限架构,所以在基础用户数据部分使用了WCF的访问取得形式,这在需要大量且频繁使用人员及组织结构的地方会造成对服务器的极大压力,从而出现系统性能瓶颈。另外,由于采用面向对象的数据实体开发形式,在UI层的表现中往往采用的循环调用方法来获取数据的形式,如在GridView的字段翻译中使用如下方式:
在RowBound事件或前台页面中写类似 GetDeptName("部门id")这样的方法。
这样就会造成性能的低下。
………….
曾使用过基于NHibernate的castle框架,也曾使用过微软的Enitiy Framework框架,不论它们有如何的延迟加载技术,总的来说,性能还是降低了。开发越方便,性能越低。封装程度越高,性能越低。这又是一个折中的问题了!看来,要重视性能的项目,还真不能图开发的方便。