设计java

j2ee轻量级框架,IMVC,IORM && web网络游戏

IMVC--j2ee轻量级MVC框架介绍

    InstantMVC是我最近开发的一个j2ee轻量级MVC框架,写这个框架前刚好做完一个webwork+spring+InstantORM的项 目,对于开发过程中的一些不舒服的地方,就像要改进着试试写一个框架,于是就开始写了,写这个框架的冲动主要有以下几点:
    1.讨厌的action配置,无论是strtus还是webwork,都有一大堆的action配置文件,strtus加上bean就更多,如果 webwork配合spring,那么一个action就要配置一个spring Bean,一个webwork action映射,随着项目的扩大,后来实在是让人有些受不了,再则,随着项目的扩大,action数目的增加,每次改动重新启动服务器的时间浪费就更 大,所以项目越来越大,感觉越来越痛苦,虽然配置型的action,对于项目的移植有一定的好处,但是一般的项目是很少回过头去修改action映射,就 算修改,在java文件中修改也是可以接受的。

    2.关于验证,struts和webwork的验证都是基于xml配置的,就我个人而言,是比较讨厌xml配置这个东西的,所以我一直用不惯他们的验证框 架,而且一旦用到验证框架,必须用到UI组件,在webwork中用freemarker作为模板的时候,UI组件是比较费资源的(可能成为潜在的性能瓶 颈),如果有一个不用UI组件而且外面封装客户端和服务器端验证的MVC框架,我想会比较爽。

    3.关于view,我比较喜欢springMVC中的那种直接在action中return的形式,webwork和struts的配置方式我也很不喜欢。

    4.应该是性能考虑,webwork的action非单利可能导致性能问题(虽然没有被充分证明),struts2也走了这条路。

    基于这些考虑,我打算开发自己的MVC框架,而且现在已经小有所成,基本功能已经完成,下面简单讲下InstantMVC框架的主要特征
    1.零配置,零配置不是说没有配置,而是说不用配置action和result view,整个mvc框架只有一个整体的配置文件,所有映射关系都是通过默认规则来建立的。

    2.类似action/form 形式,这里说是类似,因为InstantMVC可以配置让get方法是否支持form,也就是get方法可以不用form,直接通过一个Map获得请求参 数,也可以配置get填充form形式,InstantMVC的action可以配置为是单利或者非单利,不过一般在action中不推荐存放非线程安全 的变量,所以建议配置为单利。

    3.action中两个参数一个是Form的Object,一个是Map,容易单元测试,不需要引入Servlet部件,但是对于一些session等操 作可以通过InstantContext获得HttpSerlvetrequest操作,可以说InstantMVC对于容器无关性是介于webwork 和struts之间的。

    4.最简单的验证集成方式,所有验证代码写到action中,在view中不用配置UI组件,支持客户端和服务器端双重验证,可以单独开启一方关闭一方。

    5.ajax View的集成,这里的集成不像dwr那样完全集成,而是一种半集成方式,客户端用到ajax框架还是需要用户自己选择,这样提供了很大的灵活性。 InstantMVC的View有好几种形式,比如挑战到另一个action的view,直接返回的view,ajax的view等, InstantMVC的ajax是和普通的action一样的,只不过返回一个ajax的View就成了ajax了。ajax的view可以返回任何对象 的json。在客户端很方便的获得,这一点有点像dwr的返回结果,不过dwr需要配置,InstantMVC不用。而且我们可以设置开启ajax的安全 验证,开启后将不允许其他域方法ajax的action。

    6.支持AOP拦截器,模仿webwork那样,可以自定义拦截器。

    7.集成了上传组件,和验证一样,可以在action中配置。

    大概就是这些特性,这些特性都很让我着迷。现在这些特性基本上都能工作,不过稳定性兼容性方面还有待提升,同时还需要大量的性能方面考虑(虽然现在的性能比其他MVC只会高不会低)。今天刚把blog搬到这里来,以后这里会主要写关于我的框架的一些问题等。


--InstantMVC:j2ee轻量级mvc框架

posted on 2008-06-10 16:24 刹那 阅读(2811) 评论(4)  编辑  收藏 所属分类: 我的j2ee轻量级框架

Feedback

# re: IMVC--j2ee轻量级MVC框架介绍 2008-06-11 12:57 jeasonzhao

我的神啊,总算找着知音了  回复  更多评论   

# re: IMVC--j2ee轻量级MVC框架介绍 2008-06-11 18:30 刹那

@jeasonzhao
呵呵。。兄弟过奖了  回复  更多评论   

# re: IMVC--j2ee轻量级MVC框架介绍 2011-07-31 19:10 inhv

老兄, 你的 MVC jar 包呢? 我想用用试试。 inhv@163.com  回复  更多评论   

# re: IMVC--j2ee轻量级MVC框架介绍 2012-03-25 21:47 heymans

老兄,求你的mvc ~~~~~ heyange2002@163.com  回复  更多评论   



只有注册用户登录后才能发表评论。


网站导航: