`
javatar
  • 浏览: 1682662 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论
文章列表
接前面几篇回顾性文章,再说说刚做完项目中客户端框架的设计, 客户端在项目初期就选择了EclipseRCP,当时给的理由是Swing太慢, 现在项目做完了,没人再说这句话了, 因为EclipseRCP更慢,尤其是表格控件,折腾了几个月, 客户端的设计不是由我主导的,只是后期我也加入修复问题, 因客户端的设计人员频繁更换,并且时间伧促,加上会EclipseRCP的开发人员又少, 最后得到的结果是不怎么理想的,而且文档更新不同步,感觉有点面目全非。 客户端整体框图如下: 1. client.libraries 包含所有第三方库(如:httpclient.jar等)以及domain,exception ...
Struts(for)RCP(http://struts4rcp.googlecode.com)发布了0.1版本,但还缺少一个重要元素,那就是数据模型验证框架,MVC框架总是少不了它。 验证框架需要实现哪些功能? 1. 对Action执行过程中的数据进行透明化检验,Action只需声明验证规则,而不参与验证过程。 2. 可以服务器端验证,也以可客户端验证,或者数据模型自验证。 3. 验证规则捆绑方便,可以使用注解,也可以使用XML配置,以及直接编码捆绑。 4. 验证规则可自定义,并且内置规则丰富。 5. 验证出错信息国际化。 现成的验证框架已经不少,像Struts, WebWork, Hiber ...
经常前段时间的构想: RCP数据传输模型回顾 B/S与C/S统一控制器 最近,终于实现完成了0.1版本。 项目名称: Struts(for)RCP 项目地址: http://struts4rcp.googlecode.com 1. 简介 Struts(for)RCP是一个适用于RCP/RIA应用的轻量级MVC框架,与Struts功能相似,提供远程MVC控制器支持,简化模型与视图的交互过程。 MVC: Model View Controller RCP: Rich Client Platform RIA: Rich Internet Application Struts: 一个适用于Web页面& ...
最近,老姐在做金融体系仿真的课题,让我帮她下载Swarm仿真平台和JADE智能体开发平台,一看是Java的,就搜索了一把,看起来还不错,很有借鉴意义。 它的主要实现结构,有点像生命周期管理容器(像osgi, jmx等),以松耦合管理各元素,而它管理的元素就是“智能体”。 “智能体”注册在“环境”中,“环境”类似于名称服务(像jndi, ldap, uddi等), 用于注册及查找各智能体,以及为各“智能体”提供交互。 “环境”可以分级控制,但必需有且仅有一个主“环境”,其它“环境”必需在主“环境”中注册。 “环境”提供一个类似于jms的消息对列,所有“智能体”的交互都通过这个消息对列进行。 “智能 ...
模块的划分,一直是争议比较大的地方,各种方案相去甚远, 模块定义,范围,大小,分包,装配各不相同。 根据不同的产品,项目,可能都会有不同的设计。 如果一个公司自用的快速开发平台,它的模块应该如何设计? 简单 ...
J2EE中基于B/S的MVC框架不少,设计思想也在不停的进步,从Struts1.x开始,每个人都站在巨人的肩膀上,一步一个脚印。 MVC框架主要以控制器为中心,简化模型与视图的交互过程, 控制器要做哪些事? 1. 页面流控制,也就是一级级forward的处理。 2. 接收数据,从表单或URL上传来的数据,需要透明化接收(即:不能让业务逻辑看到接收过程)。 3. 呈现数据,将数据传到页面,或下一forward控制器。 其它的拦截器,前端校验,模板回调,标签库封装等都是附属功能,围绕控制器转。 以业务实现者的角度看, 控制器接口需要有一个传入参数表示接收到的数据, 有两个传出参数,一个表示呈现数据, ...
最近在构想一个新的内部使用平台,发现首先要确立一些的根本性的原则,作为设计指导,使各模块设计人员都能保持一致的方向,只有先确定了这些基础原则,在开发决策时,大家才不会争论不休,包括: 1. 强类型,还是弱类 ...
Java5 增加的泛型语法,使类型模板的应用得到了提升,但它的运行期擦拭的做法(为向前兼容),令人诟病, 使得一个Map集合,通过反射拿到的集合元素的泛型类型,不是实际使用类型,而是K和V(字节码编译期保留)。 另一个有 ...
趁着公司项目收尾,有些空闲,写了一些回顾性的文章: http://javatar.iteye.com/blog/258066 基于这篇文章的思考,周未写了一个简单的实现框架: http://struts4rcp.googlecode.com 服务器端已完成,包括:请求接收,序列化策略,Action实例化工厂策略,拦截器链,异常转换等。 客户端也基本实现,包括:配置加载,传输策略,传输状态事件,同步调用,异步调用,连接监控,连接状态事件,但还差传输队列的实现,以及队列分组,队列改变事件等的处理。 1. 简介 (1) 说明 struts4rcp是一个适用于RCP/RIA应用的轻量级MVC框架,与S ...
现在很多的Java应用都采用Eric在《DDD》中提出的域分层结构, 所以大部分项目看起来像下面这个样子分包: action service dao domain exception util 最近做的这个项目也采用了类似的结构, 其中service和dao的关系是一个老生常谈的问题, dao只对数据访问进行隔离,比如:Hibernate过时了,我们需要按一套全新的持久化方案,只需把Dao的实现类替换掉就行了。 service包括所有的业务逻辑,使用dao存取数据,并向Action功能提供服务。 然而,大部分企业应用中,业务逻辑就是对数据库的操作, 所以就出现了大量的service变成了dao ...
最近在做的项目,是一个C/S和B/S混合的项目,我主要负责设计开发框架部分, 最开始设计时,因时间仓促,没有细想,就草草上阵了, 现在项目快结束了,回过头来想想,还是有很多地方可以完善,这里说一下数据传输这一块 ...
前些日子,看到CNPACK(http://www.cnpack.org)的介绍,发现它得了上一届的开源竞赛金奖,所以将CommonTemplateEngine(http://www.commontemplate.org)也提交到中国开源软件竞赛(http://osscontest.org.cn), 昨天收到通知说进入了决赛,需到北京现场答辩,可惜我现在在深圳比较忙,离北京太远了,项目组内也没有一个北京的,而且一切费用自理,看来只有放弃了。 修改: 项目组成员吴勇智刚好在北京,已让他代表参加。 增加演讲稿附件。 osscontest发来的邮件 写道各参赛单位:    根据2008中国开源软件竞 ...
CommonTemplate(http://www.commontemplate.org)已提供了注释版和属性版语法外套. 注释版语法外套: <html> <body> <!--$if{users != null && users.size &amp;gt; 0}--> <table border="1"> <!--$for{user : users}--> <tr> ...
经过多个版本的调整, CommonTemplate(http://www.commontemplate.org)的核心包设计逐渐稳定. 但访问者的设计一直是块心病, 并且访问者是合成模式[GoF95]树结构中比较重要的扩展点. CommonTemplate中的访问者最开始设计: public interface Visitor { /** * 当访问到节点时被回调 * @param node 被访问的节点 */ void visit(Node node); } 其中, Node是Template, Element, Expression等的抽象. 如 ...
CommonTemplate发布0.8.6版本(2008-08-26) 项目地址: http://www.commontemplate.org Bug Fixed: 修复BeanUtils在访问级安全控制上的BUG 将Class.forName()统一改为ClassUtils.forName(), 使用当前线程类加载器加载类, 并支持基本类型. 修复$for指令以及操作符不能 ...
Global site tag (gtag.js) - Google Analytics