| 
 | 
 
 
 楼主 |
发表于 2006-12-31 20:33:26
|
显示全部楼层
 
 
 
NEWXY技术
希望大家积极参与啊! 它也是一个开原的 
 
newxy开源了,首先感谢中国软件网技术中心的专家们,有关newxy技术文章在博客栏不被任何人推荐的情况下被选到文档中心,竟有两篇列入网站的首页,使newxy技术得以广泛宣传。这反映了中国软件网技术中心的专家不人云亦云,具有对工作认真负责的态度(作者在中国软件网文档中心的文章网址:http://dev.csdn.net/author/nlhlx/index.html) 
 
newxy技术爱好者在学习和使用的过程中给以很好的建议,在此一并感谢。 
 
今年六月九日newxy网站开通,其时未曾想过开源,只想过让大家免费使用。一些用户表现出了让newxy开源的期望打动了我,加上开源会让newxy更好的发展,便决定了开源。 
 
下面作几点说明: 
 
一、           newxy产生条件 
 
1、运用通用办法解决问题的期待 
 
newxy的开发历时两年多,但对产生的结果持有的期待确是在运用非java语言开发软件时就形成了。五年前用C++Builder开发单位软件时总是在不断开发通用组件,甚至对一些特别运用也期望能做一些通用的组件,即可足运用,也可以备后用。 
 
2、一人包办前台、后台所有开发,洞悉各环节工作的每一细节 
 
newxy宣传文章中有几处说明用newxy标签可以不写java代码实现数据增、删、改、查等,这里面涉及到标签如何产生javascript脚本,如何将formBean中的记录列示在静态页面上的同时将记录的行号、主关键字值对保存到静态页上,如何在静态页面上表现formBean的状态,如何使按钮的点击事件能够正确将所选对象相关参数传给脚本函数。脚本函数如何将数据传到后台,后台如何处理传来的数据。即使这一切解决好了,还要考虑是否好用,是否好理解,为了好用好理解,经过了几个月重新设计重新组合,而每一次重新设计都会象是打一场大战。 
 
在很长一断时间,我感觉我是一个搬运工,一个崂山道士,自由地出入一方墙,将一些物件搬进搬出,而墙的一面是镶有标签的jsp,另一面是静态页面。 
 
最始我能把那几个标签开发出来,可能是由于多年来单位的软件开发由我一人独立完成积累的经验。 
 
这一断文字绝不要表现什么,是想说明,产品能实现的功能与开发者经历严重相关。 
 
3、 对开发的产品持续关注和维护 
 
多年来不仅要独立开发单位软件,也要独立维护它,单位业务规则改变后要重新设计,这过程加深了用软件架构的持续性原则来开发产品的认识。newxy的开发过程惯彻了这个原则。 
 
4、 尽可能减少对第三方产品依赖 
 
多一份依赖,可能增加使用者一份学习负担。newxy依赖的第三方产品仅限于struts依赖的第三方产品,这样只要运用系统能正常运行struts,newxy就能正常运行。坚持这个原则竞产生了两个付产品,持久类及ActionForm类生成器、帮助文档构建器。 
 
二、           newxy的发展方向 
 
1、  吸收其它软件的优点,但必需坚持好用好理解的原则。比如已构思好的表单验证,这项功能象JFS,但使用会更简单,可以复用struts绑定的validate方案。 
 
2、  发展newxy的特色,如多表数据一次上传。在newxy1.0版时就已能实现,没有介绍是因为当数据库多表具有相同字段名时不能正确执行。方法是这样的,通过jsp页面表单上传多表数据,在后台只需这样操作: 
 
                                 BaseDAO baseDao=new BaseDAO(); 
 
                             DynaDto dto=(DynaDto)formBean.getDto(); 
 
                             //保存第一个表 
 
                             Dto.set_table(“table1”); 
 
                             baseDao.update(dto); 
 
                             //保存第二个表 
 
                             Dto.set_table(“table2”); 
 
                             baseDao.update(dto); 
 
                             //保存第三个表 
 
                             dto.set_table(“table3”); 
 
                             baseDao.update(dto); 
 
在下一个版本中,提供多表有相同字段时的解决办法。 
 
3、  标签的发展可能会吸收Web2.0思想。 
 
4、  提供一些解决方案。如用户角色权限管理。这是常常遇到的问题,newxy会提供解决策略和组件包。 
 
一、           有关代码 
 
1、  风格 
 
newxy是由一人独立开发的,而且有意无意让一些方法在很大一串的情况下解决问题,其时想的是代码会更安全。在可能的情况下这类代码会拆分,但也不着急。未来代码尽可能简短,易理解。某些方法会合并,极少数方法会丢弃。 
 
2、  包结构 
 
在未来版本中包结构难保不调整,调整的会是不被开发者引用的类。这最大影响因素是与其它框架集成时内在逻辑的驱使,或新思想的引入。 |   
 
 
 
 |