随笔 - 1, 文章 - 1, 评论 - 12, 引用 - 0
数据加载中……

2008年8月21日

可控的简洁编程——慎用框架技术

      刚看到1篇帖子,说其项目组在其成员都不了解hibernate的情况下,要在一个简单应用中(只有3张数据表),强行使用hibernate。

 

      这使我想起我们以前做的一个项目:当时struts+spring+hibernate非常流行,我们项目组也是没有精通这些框架技术的成员,却要应用这些技术开发网站;最终边学习边开发把项目做完了,但是上线运行后,在访问量不大的情况下,过一段时间tomcat服务就死掉了;其间换jdk版本、换tomcat版本、调优linux系统和tomcat参数、换连接池、改变连接池参数、优化程序代码、调整数据库索引、增加数据缓存,虽然能够延长tomcat服务的存活时间,但仍然不能彻底解决tomcat服务崩溃的问题,尤其访问量增大的时候(没有大到成百上千个并发);后来在做压力测试的时候,发现其性能比纯JDBC差了十倍,这时才想到hibernate的二级缓存还没有进行配置;配置了hibernate二级缓存后,问题解决,性能也有很大提升。

 

      看来,不能为追求时髦而使用自己不熟悉的技术,也不要盲目地使用这个或那样的框架。

 

      框架为了适合更多的开发需求,会引入更多的冗余代码,而这些冗余代码有很多是我们不需要的,这样相当于增加了开发项目的复杂度却没有为给开发项目带来相应的性能或功能提升,而框架内的bug同时也会引入到项目中;框架升级,同样会带来很多麻烦,尤其其内部又依赖其他框架或功能包的时候,因为它们也有版本和bug问题。

 

      网站开发环境,比如php、jsp、asp.net等,其本身功能已足够我们使用了,并且足够健壮,而基于其上的那些框架技术,是锦上添花还是画蛇添足,有时也很难确定。当然,对于一些大的应用平台和需求变化很少的项目开发,使用框架有时确实能够提高开发效率(对运行维护有好处吗?),但是在做一些需求变化大的项目,尤其是需求会不断变化的网站开发时,我建议慎用框架技术。我们可以学习框架中的技术思想,并将它应用到实际开发中,使用一些公认的、比较稳定的功能包或服务(我们不用每个轮子都自己做),但要尽量做到一切尽在掌握中,这样才能在程序开发以及运行维护中掌握主动。

 

      技术的使用,不是多多益善,只要能够满足需求就好,简洁干净地编程应该是大多数人的愿望。

 

      最后推荐一个自己写的asp.net MVC架构,它能够帮助你在尽快地搭设网站的同时,做到一切都控制在你手中。

posted @ 2008-08-21 15:52 安东 阅读(1720) | 评论 (6)编辑

2008年7月3日

asp.net的MVC编程、MV编程以及URL重写

     摘要: 编写自己的轻量级asp.net MVC框架,并支持URL重写、代码智能感知,涉及泛型编程、log4net日志组件的使用、数据库的封装等,相信使用这个架构可以快速的开发asp.net网站,并适合于团队小组合作编程。  阅读全文

posted @ 2008-07-03 15:36 安东 阅读(1467) | 评论 (6)编辑