论坛首页 Java企业应用论坛

正式发布,More框架alpha3版,初步完成基石搭建工作。

浏览 5020 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (3)
作者 正文
   发表时间:2010-01-18   最后修改:2010-01-27

 JavaEye圈子:http://more.group.iteye.com/

 

项目主页:http://more.byshell.org/

 

它到底带来了些什么?:点击查看

 

欢迎大家关注,也欢迎大家加入More的圈子。目前More处在构建核心技术和稳定已有框架的阶段。在未来的规划中More会努力兼容领域模型开发和Rest架构开发,以及创建自己的特色。

More的宗旨是:

  1. 少量的学习
  2. 轻量化的开发
  3. 最简的配置
  4. 多种应用架构的支持
  5. 高集成
  6. “零”污染  

 

More Core

    MoreCore是整个more框架的基石。它内置了ASM3.2框架、提供了JSON数据互转的支持、还提供了一个bean拷贝的工具、Task可以将任务分解开然后统一调度、除此之外还提供了IO工具和增强的属性接口Attribute。使用Attribute还可以设置属性的替换策略或锁定策略。

    ClassCode是一个与CgLib奇虎相当的字节码工具,经过测试ClassCode的对象创建操作是CgLib2.2的14.3倍,在50万次Aop方法调用上ClassCode使用了16797毫秒,CgLib2.2使用了16515毫秒仅仅输给了282毫秒这是Java的动态代理无法比拟的速度。不同于CgLib2.2的是ClassCode提供了对象附加接口实现功能,利用这个功能你可以向一个已经创建的类对象身上绑定新的原来没有实现的接口,同样的你也可以改写类来附加接口实现

更多功能请关注More项目主页JavaEye圈子

 

Beans 

    负责为more提供ioc和aop的支持,使用Beans的aop不在依赖接口。beans还可以给一个对象附加任何接口实现(目前不支持rt.jar详细解决方案留意圈子),除此之外从alpha3开始beans支持注解方式简化Bean配置。该子框架的功能略见【版本历程

 

Submit 

    内核框架,该组建是一个MVC框架。Submit的扩展有两个方向,一个是支撑环境另一个是外壳扩展。通过扩展外壳可以与各种容器框架集成,more在alpha版时就提供了Spring容器作为外壳。此外它还有一个beans的外壳提供。此外可以通过扩展支撑环境来达到各种领域延伸的目的。Web Ext模块中Action以及四种Web下Action调用的支持就是通过扩展支撑环境而实现的。

    submit还具备参数作用域的特性,submit内核只提供了Context、Session、ActionStack三个变量作用域。而Web外壳下除了这三个作用域还提供了与web有关的另外五个作用域。

    submit还具备Action请求拦截器的功能,不同于Struts2的是Submit不支持Results模板但是您可以通过返回值回调脚本来完成更强大的功能这个脚本完全使用JS编写。此外从alpha3开始Action的配置可以通过注解形式完成。该子框架的功能略见【版本历程

 

Web Ext

     Web Ext模块是More专门在Web环境中提供的特定工具或扩展,其中包括了分页标签、Submit的Web扩展、字符过滤器、ActionJS。更多的Web工具还在开发中。

    Submit的Web扩展是提供Web MVC的一个web支撑环境,在web环境中提供了五种Action调用方式其中还包括了JavaScript方式调用从而省去了Dwr。使用页面预处理(标签调用)还可以体验到ASP方式的快速编码。除此之外在Web扩展中除了Submit核心3个参数作用域之外又提供了五个与Web有关的作用域它们是:JspPage、HttpRequest、HttpSession、Cookie、ServletContext。该子框架的功能略见【版本历程

Extension

More目前已经集成了Spring,更多的第三方框架集成加入中...

 

 

alpha3更新说明:

beans v1.2(版本alpha3):
  1.增加注解配置支持,至此xml配置与注解支持可以同时进行。xml的优先级高于注解。
  2.可以注解配置Bean。
  3.可以注解配置Bean的构造方法参数注入
  4.可以注解配置Bean的Aop链。
  5.可以注解配置附加接口实现,但是所有附加接口都使用一个接口处理委托。如果要一个接口对应一个委托只有xml配置支持。
  6.可以注解配置属性注入。
  7.注解配置支持以定义的基本类型和四种引用类型。
  8.注解配置需要通过xml配置anno:anno标签。
  9.通过anno标签可以开启注解配置以及配置beans的扫描路径。
  10.重写了Resource接口的实现类。

submit v3.1(版本alpha3):
  1.TopFilter类更名为SubmitRoot。
  2.优化submit代码,减少了代码中new的操作。
  3.修改submit的Config接口getInitParameter相关方法返回值为Object类型。
  4.重写了submit的more和spring外壳提供环境使其更简化和直观。同时more和spring外壳支撑中加入了默认配置文件位置。
 其中more支撑环境默认配置文件位置:/WEB-INF/more-config.xml
 其中spring支撑环境默认配置文件位置:/WEB-INF/applicationContext.xml
  5.CasingBuild增加缓存功能,可以通过cacheContext属性控制是否开启缓存,默认是开启的。
  6.增加ActionObjectFactory核心接口,该接口负责创建、查找一切Action相关资源,同时该负责解析Filter注解。
  7.支持注解化配置Action所有配置。

  • 描述: More (alpha3)总体结构图
  • 大小: 21.4 KB
  • 大小: 238.6 KB
  • 大小: 110.7 KB
   发表时间:2010-01-18  
目标客户是哪些?可以单独使用某一层吗?
0 请登录后投票
   发表时间:2010-01-18  
grandboy 写道
目标客户是哪些?可以单独使用某一层吗?


可以单独使用其中任何一层的任何一个组建,有些情况下组建中的工具也可以单独使用。光Beans中就有3个核心组建也可以单独使用不过需要深入了解Beans之后。

目前主要是面向广大开发人员和系统设计人员。
0 请登录后投票
   发表时间:2010-01-19  
既然打算替代SPRING, 为什么还打算集成SPRING呢?

我建议不集成。
0 请登录后投票
   发表时间:2010-01-19  
你重造了不少的轮子,另外很多的代码都是从其他组件里copy过来的
0 请登录后投票
   发表时间:2010-01-19  
牛人啊,关注
0 请登录后投票
   发表时间:2010-01-19  
又出现了一个轮子。。。
0 请登录后投票
   发表时间:2010-01-19  
和spring有什么具体的区别吗?
0 请登录后投票
   发表时间:2010-01-19   最后修改:2010-01-19

既然打算替代SPRING, 为什么还打算集成SPRING呢?
More的替代是有范围的它不能全盘替代Spring,况且Spring的高集成我是很羡慕的。如果more追赶spring的集成想必一定是一个巨大巨大的轮子。

 

因此More只打算拥有Spinrg最基本的Ioc/Aop功能,利用这个功能来不受影响的发展more自己的未来技术。集成Spring就意味着Spring做的事情我不用在做了。。。

很多的代码都是从其他组件里copy过来的

目前只有ASM3.2的代码是从其项目中直接拷贝,因为考虑版权问题。我不修改ASM3.2的任何代码只是将包声明变动了一下。在alpha3发布的时候也会按照开源协议携带ASM3.2的 授权文件。

 

和spring有什么具体的区别吗?

有区别的,More有自己的Ioc框架这个是它的基石。使用More不会影响你项目中已经运行的SSH组合。换句话说如果你的领导现在让你在最快的时间之内在SSH项目中附加一套BBS。想必ASP的那种编程风格是很效率的了。

More可以提供你这样的一个环境,同时它还不破坏MVC结构,也不会影响你已有框架技术。分层在More里也是很清晰的。这都全依赖 页面预处理,同时More还不影响SSH的运行甚至More会去集成项目中的Spring来做页面预处理。

 

More的Action的调用方式有很多这决定了它可以灵活应用在JSP或者浏览器在或者代码中的任何一个角落。

 

轮子:
alpha3 是轮子的这个说法我不否认。目前来看more就是一个轮子,虽然有一些不同但是它还是轮子。
在我的开发计划中,more的特色只有在具备基础架构之后才发展。more在创建之初有一个原则就是核心组建绝对不能依赖第三方jar。扩展功能和集成功能可以依赖第三方jar。这样来保证最大程度的不受组建依赖的影响。

 

目前more还在稳定各个核心组建的过程中,因此核心组建大多数都是已有框架技术的翻版。从alpha4~alpha4开始会陆续增加特色组建,像表单序列化(解放前后台数据映射和递交问题)资源定位(为了Rest架构做准备工作

 

 

0 请登录后投票
   发表时间:2010-01-19  
看到很多类似if(value.equals("") == true)这样的代码,不知道是否只是个人习惯还是有什么深意?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics