选择一个框架的权衡建议

    在公司三年前选择Spring+Hibernate+WebWork2作为公司开发框架时我们的一个项目经理提出了很多担心的意见,很多的争论也花费了不少时间。不过现在这个项目经理在经历过维护恶梦后再也不提我们也可以用自动生成工具生成DAO代码之类的话了,现在他可以用1个人维护一个客户的所有项目了。
    下面是我们对选择一个框架的一些思考,希望能对读者有所启发。
1) 首先看对维护带来的什么效果
    其实很多争论是没有意义的,比如在没有一个大前提之下就进行UNIX和WINDOWS谁好的争论只能是浪费时间,同样做一个网站可以用10多种技术,一个公司(特别是小公司),采用一种最适合自己客户要求的框架作为主要的开发平台应该是容易培训新手和维护的。
2) 在封闭和开放之间选择一个平衡点
    太开放和灵活会导致比较高的学习曲线,那样别人还不如直接用原生的工具呢;太封闭对公司虽然更安全(比如有些公司的组件只有二进制代码和使用说明),但是对开发人员的前途是不利的,如果人员留不住,最终也会拖慢公司的竞争能力。
3) 不断积累和持续过程才是正常
    我们给新手培训时很强调使用一个框架虽然站在别人的肩膀上了,但是这还是一个起点而不是终点!一个框架最初使用时,肯定会发现有好多客户要的功能框架不能提供。那就通过项目逐步积累组件吧,千万不要老是拷贝粘贴搞开发。让每个开发者都有机会成为框架和组件库的贡献者,那这样的文化氛围才是别的公司不能一下抄袭的。
llano的三个版本集成如下:
llano for java
  ExtJS/JSON-lib/Spring/Hibernate/SiteMesh/Freemarker/log4j/JUnit
llano for .net 2.0
  ExtJS/JSON.NET/NHibernate/log4net/NUunit
llano for .net 3.5
  ExtJS/JSON.NET/LINQ/log4net

    其实还有很多框架也不错,如Teddy的NBear和双鱼座的Kanas.NET,选什么主要看用户群的数量和团队自己的学习曲线。我们选Hibernate也只是用了不到10%的功能而已,主要考虑点还是要保持在JAVA和C#编程切换时的适应时间要最短。

alex 7-10


    


posted @ 2008-07-10 22:19 成为-行动-拥有(BeDoHave) 阅读(3190) 评论(15)  编辑 收藏 网摘 所属分类: 大草原--llano

  回复  引用  查看    
#1楼2008-07-11 00:06 | jg_chen      
有做广告的嫌疑
  回复  引用  查看    
#2楼2008-07-11 00:16 | 曲滨*銘龘鶽      
选什么都一样,买东西也是
选择最适合自己的才是最重要的
而且最主要的是认清风险;
选框架也一样
如果选了些没人再维护的、自己又维护不了的。
或者800年也不升级的,vs都2008,框架连2005 还没支持的很好的那种。

还有就是要承受更换框架的磨难(不过这点可以根据项目情况权衡)
比如
JQUERY / NHibernate 的项目
的项目
升级成
ExtJS / LINQ

或者
在在升级为
silverlight / WCF /ADO.NET Entity Framework
或者


因为新的东西不断在出现、如何一直坚持使用老框架是不正确的;
但是频繁更换,那就是更不正确的了。

所以当前使用什么,在以后如何替换他也是一门很深奥的学问;
我们既不能一点框架也不用,也不可能出一个用一个
我们换了框架,有一些类库就等于没有用了、问题仍然是存在的
框架也有框架的维护成本。
怎么权衡就得看开发团队的整体能力了;


  回复  引用  查看    
#3楼2008-07-11 08:46 | 玉开      
没有什么实质性的东西。
  回复  引用  查看    
#4楼2008-07-11 09:01 | kiler      
讲得东西不多,但是几个原则还是总结的很不错。

千万不要老是拷贝粘贴搞开发

其实一个框架的主要目的就是消除开发中的拷贝粘贴,把这些重复无味的体力劳动用程序或者工具来实现。

  回复  引用  查看    
#5楼2008-07-11 09:42 | 黑羽飘舞      
的确如此,不过相比这文章更想早些看到大草原,关注ing
  回复  引用  查看    
#6楼[楼主]2008-07-11 10:02 | 成为-行动-拥有(BeDoHave)      
@jg_chen
我们不希望大家都生搬硬套。把自己的做法写出来,抛砖引玉罢了。希望你也提供一些你们的做法给大家参考,大伙将不胜感谢!

  回复  引用  查看    
#7楼2008-07-11 11:48 | 赖文华(SWPU小赖)      
关注!
  回复  引用  查看    
#8楼2008-07-11 13:07 | 安眠花      
楼主在什么公司,推荐推荐偶去吧哈哈
  回复  引用    
#9楼2008-07-11 13:32 | donhwa[未注册用户]
--引用-------------------------------------------------- jg_chen: 有做广告的嫌疑 --------------------------------------------------------
我倒不觉得.个人想法很不错啊.

  回复  引用  查看    
#10楼2008-07-11 13:33 | 毁于随      
用的源码级的ORM方案,头大.维护起来太吃力了.
  回复  引用  查看    
#11楼2008-07-11 13:42 | Q.Lee.lulu      
Asp.net MVC + jQuery + Linq
哈哈......

  回复  引用  查看    
#12楼2008-07-11 14:43 | RicCC      
确定好开发模式是最重要的
然后就是选择或者开发合适的框架,清晰的实现出来
我的选择:jquery+自己的ORM,web端还缺少一个完整的解决方案

  回复  引用  查看    
#13楼2008-07-11 16:14 | scotoma      
其实楼主说的还是很重要的

选择适合自己的才是好的,非常赞成2楼的观点

  回复  引用  查看    
#14楼2008-07-11 16:53 | henry      
有一个固定稳键的就好.

  回复  引用  查看    
#15楼[楼主]2008-07-11 17:15 | 成为-行动-拥有(BeDoHave)      
@Q.Lee.lulu
我们测试发现这个MVC比起几年前的WebWork2尚有不少界面辅助类要完善!

发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1240303




相关文章:

相关链接: