精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-30
最后修改:2009-05-30
假设数据表usera有字段code(代码),name(姓名),org(所属机构),其中机构是编码字段,其表名为org,字段为code(机构代码), note(机构名称)。编写一个程序实现该表的增、删、改、查、统计、打印,机构字段用选择方式输入。 大家会发现,该程序需要实现要求是大部分程序的共性,我们将其封装在底层,而其涉及的表、字段、编码表才是其个性,需要在程序中指定。因此我的最简程序为: public class UserBean extends SimpleTableDsBean { DataStore dsMain; // DAO, 相当于PowerBuilder的DataStore // 为程序提供个性化参数 public void onInit() throws Exception { dsMain = new DataStore("dsMain", "select code, name, org from useA", getConnItem()); // 初始化DAO对象, getConnItem()取得数据库连接 dsMain.setColLabel("代码,姓名,机构"); // 设置列标题 dsMain.setColCodeTable("org", "select code, name from org"); // 设置选择数据来源 regDs(dsMain); // 注册需要进行数据操作的DAO } } 完了, 通过http://127.0.0.1/test/UserBean.class即可访问本程序,URL和程序的对应也是由底层专门的Servlet完成。程序的共用功能在SimpleTableDsBean中实现,数据访问功能在DataStore中实现。数据才屏幕上的显示格式缺省由程序底层实现,如需要自己指定,覆盖SimpleTableDsBean中相应的显示方法。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-05-30
java的复杂性源于mvc架构,这是企业级应用必须的,入门的门槛确实高
你认为的最简程序在我却认为并不简单也不规范,每个人角度不同,目前的架构还是非常成熟的,毕竟是很多人智慧的结晶。 |
|
返回顶楼 | |
发表时间:2009-05-30
易用性与功能的全面性是有冲突的。你想让框架能支持更多的东西就必然使它更庞大。简单的东西开发是快,但是功能肯定会少很多。而且在写复杂的应用的时候,看似复杂的框架反而会让人写更少的代码。而且一个相对全面的框架也能让各路专家汇集到一起,将注意力将在不同的关注点上对应用进行优化。太过简单的东西是做不到这点的,随着应用规模的加大,复杂度的提升,代码也会不停向意大利面条靠近……
但是有一点我认为是对的,如果大家没事来写非商业性的,有点娱乐性的应用或者工具的话还是用最简单的东西好,不要给自己找麻烦 |
|
返回顶楼 | |
发表时间:2009-05-31
框架的复杂化我觉得是必要的,但我觉得框架提供给开发者使用的API应尽量简单。例如JQuery做的事情很复杂,但使用起来却十分简单。现在的框架大部分没有将企业应用程序常用的功能整合到框架中,如数据表的通用查询、权限控制、通用统计、报表打印、用户身份认证、数据输入校验等,每一个初学者,在工作过程中,都要把这些共性的困难要解决一遍。从学习角度来讲,解决这些问题确实对技术水平的提高有帮助,但工作效率的低下就无法避免。我想在数据库应用方面的通用功能问题和大家讨论一下,一提到企业应用,大家就觉得“复杂、难”,但复杂在那些方面,能不能举些例子来大家讨论一下。
|
|
返回顶楼 | |
发表时间:2009-05-31
我的观点可能比较偏激一点.
要简化web开发,有一种可选方式就是在前端直接生成SQL语句,然后把SQL直接扔到后台去执行就好了. 目前Web开发的复杂性,很大原因就在于一层一层的包装转换,信息被一次一次进行变换,如果能够省略信息的转换过程,在页面上直接能够操作访问后台数据库,很多问题都可以得到简化. |
|
返回顶楼 | |
发表时间:2009-05-31
如果用户数量有限的话怎么样都好。如果做公共网站,指望着PV能上来的话前端生成SQL是不行的。太过简单的框架也是不行的。事情的复杂度在压力大的时候都被放大了一个数量级。相比之下,如果用户群受限,我倒是觉得开发自由度挺大。
|
|
返回顶楼 | |
发表时间:2009-06-01
"前端直接生成SQL语句"会使前端程序复杂化,而且以目前大部分应用来看,前端程序过多,可能造成程序反映慢、内存泄漏、调试不方便等问题。因此,我的想法恰好相反,前端尽量简化,尽量减少JavaScript的使用量,而且将前端的对象全部包装为服务器端的Java对象,由服务器生成前端的Html和JavaScript,以实现和用户的交互。对界面比较复杂的情况,可将界面静态部分做成html文件,并在其中设置动态部分的标签,在使用时,将服务器端生成的动态部分插入标签位置。这样可保证程序员基本只与Java和SQL打交道即可,一是使需要掌握的知识面减窄,二是使主要代码集中在Java上,Java的强类型便于调试和排错,三是主要代码在服务器端,保证系统的安全性。
|
|
返回顶楼 | |
发表时间:2009-06-01
coyizz 写道 "前端直接生成SQL语句"会使前端程序复杂化,而且以目前大部分应用来看,前端程序过多,可能造成程序反映慢、内存泄漏、调试不方便等问题。因此,我的想法恰好相反,前端尽量简化,尽量减少JavaScript的使用量,而且将前端的对象全部包装为服务器端的Java对象,由服务器生成前端的Html和JavaScript,以实现和用户的交互。对界面比较复杂的情况,可将界面静态部分做成html文件,并在其中设置动态部分的标签,在使用时,将服务器端生成的动态部分插入标签位置。这样可保证程序员基本只与Java和SQL打交道即可,一是使需要掌握的知识面减窄,二是使主要代码集中在Java上,Java的强类型便于调试和排错,三是主要代码在服务器端,保证系统的安全性。
你说的不是jsp+serverlet么? |
|
返回顶楼 | |
发表时间:2009-06-01
Kao
jee开发能不能找个快捷的方式。 |
|
返回顶楼 | |
发表时间:2009-06-01
打个比方.
现在的j2ee开发,就好象对面来了一个人. 最外面穿着一件风衣(HTML) 风衣里面穿着西装(Struts) 西装里面穿着马甲(Spring) 马甲里面穿着衬衫(Hibernate) 衬衫的里面才是真实的人(数据库) 全部衣服都是采用棉布做成的(Java) 每件衣服上都可能有其他配件(第3方库) 各件衣服之间需要配套使用(版本兼容) 如果你想看到这个人到底长啥样,必须得:先脱一件,再脱一件,再脱一件.最后才能看到最终数据库里面的数据是啥样子. 在很久很久以前,这个人是不穿衣服的. 你直接可以看到他(SQL语句) 现在不行了,你必须穿越层层衣服来看这个人. 每件衣服都是不同的厂家做出来的.而且随时在改变. 你必须自己把这些衣服一件一件套上去,祈祷他们大概能够合身. 每件衣服都可能有漏洞(bug),你得自己想办法打个补丁(patch)上去. |
|
返回顶楼 | |