一个优秀框架的评判标准和方向

08-04-25 xyz
         

Java的框架很多,并且很多都是开源的。有我们熟悉的表现层框架;如;struts,jsf等;还有底层的orm框架,如hibernate,还有比较全面的框架如jboss seam等等。
纵观这么多框架,我们不难发现一个问题,它们很多都是面向程序员的,或者说是面向技术的。但是我么要知道技术最终是要为功能服务的。我们最终是为了实现功能的,而不是为了绣技术而开发的。那么我们的框架,一个优秀的框架最终应该以用户需求为向导(而非程序员的需求)。
所以,是否能够实现各种各样的功能需求,是否能够快速、简单的实现许多常用的功能需求,这是首要。
Javaee一定是能够符合企业级别开发的绝大多数需求的,要不怎么是javaEE。但是如何能够快速、简单的实现许多常用的功能需求呢?
快速简单和灵活,是比较矛盾的两个事物。但在某种层面上是可以统一的。对于大多数常见的功能需求,我们简单快速。对于个别的个性要求,我们灵活。
那么具体如何统一呢?如果我们能够把企业级开发的功能需求抽象成几个种类,每个种类我们提供一中常用的默认解决方案。几乎所有需求都可以归结成这样的几个种类,个别个性化的要求只需要修改与默认的解决方案不太一样的那一小部分就好了。
那么企业级开发能否抽象成这样的几个种类呢?答案是肯定的。我们可是把它大致抽象成:crud,workflow,report三个种类。大多数的需求都可以归结给这几类,或者是这几类的变种。
一般在系统数据的初始化的时候(包括后面的一些台帐),都是crud功能。如人员的录入,数据字典等等。有了这些基础,我们的企业就可以运作了,那么这就是workflow发挥功能了。运作了一段时间,对运作中间产生的数据做分析总结,这个就是report。如果你的workflow是bpm可能还需要重新定义流程。
所以一个好的框架——以需求为导向的框架——至少要能够快速方便的完成crud,workflow,report三个功能。
其次我们要考虑的是效率。
再次我们再来考虑使用我们的框架后,是否能够做到,解耦合,牵一发而无需懂全身等等程序的性能。而这些功能是程序员需要的,而不是客户需要的。但我们要记得,客户是我们的衣食父母。
当然这个只是我的个人感受。

         

1
banq
2008-04-28 14:11

写得不错,一个好的框架要能够快速方便的完成crud,workflow,report三个功能
不过 我觉得应该是在解耦合前提下做到这些基础功能,过去我们没有这个前提,所以,后来推倒重来,重来了就一定要把这个前提条件放于前者。

xyz
2008-04-28 16:30

写了这么久,只有banq老大一个人回复!
我只是希望今后我们得牛人们更多关注功能得实现,多出平台级别得框架.我们以后就不需要在为了某一部分功能去找一个框架,还得考虑兼容性,包得依赖性.象最流行得ssh,至少我们使用了三个框架.
以后一个框架基本搞定!把复杂得事情简单话,贡献!

lw1130
2008-04-28 16:43

支持一下 要看效果 别看广告 哈哈

grj0794
2008-04-28 16:55

“快速简单和灵活,是比较矛盾的两个事物” 比较同意此观点,关键是找到恰当的平衡点。期待类似springside的国内优秀的开源框架产生

2Go 1 2 下一页