论坛首页 Java企业应用论坛

javaWeb开发越来越复杂的情况下,如何尽力简化?

浏览 24611 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-01  
liujunsong 写道
打个比方.
现在的j2ee开发,就好象对面来了一个人.
最外面穿着一件风衣(HTML)
风衣里面穿着西装(Struts)
西装里面穿着马甲(Spring)
马甲里面穿着衬衫(Hibernate)
衬衫的里面才是真实的人(数据库)
全部衣服都是采用棉布做成的(Java)
每件衣服上都可能有其他配件(第3方库)
各件衣服之间需要配套使用(版本兼容)

如果你想看到这个人到底长啥样,必须得:先脱一件,再脱一件,再脱一件.最后才能看到最终数据库里面的数据是啥样子.

在很久很久以前,这个人是不穿衣服的.
你直接可以看到他(SQL语句)
现在不行了,你必须穿越层层衣服来看这个人.

每件衣服都是不同的厂家做出来的.而且随时在改变.
你必须自己把这些衣服一件一件套上去,祈祷他们大概能够合身.

每件衣服都可能有漏洞(bug),你得自己想办法打个补丁(patch)上去.




弓虽啊,好强的比喻
0 请登录后投票
   发表时间:2009-06-01   最后修改:2009-06-01
读了liujunsong 的话觉得很有启发。

的确,数据总是需要在各种环境里换来换去,大多数都只是底层的动作,层次中间还总要有一大堆的问题。
有一个不成熟的想法:要是“数据”能够从各种语言中抽象出来变成一个统一的东西就好了。
0 请登录后投票
   发表时间:2009-06-01  
夏天到了 ,就把衣服都脱光吧
summer这个框架啥时候出- -
0 请登录后投票
   发表时间:2009-06-01  
liujunsong 写道
我的观点可能比较偏激一点.
要简化web开发,有一种可选方式就是在前端直接生成SQL语句,然后把SQL直接扔到后台去执行就好了.
目前Web开发的复杂性,很大原因就在于一层一层的包装转换,信息被一次一次进行变换,如果能够省略信息的转换过程,在页面上直接能够操作访问后台数据库,很多问题都可以得到简化.


个人观点,像SQL这种东西说的偏激点,应该放在配制文件里。你说直接暴露到页面?呵呵。做系统的目的是为了什么?可维护,可扩展。
0 请登录后投票
   发表时间:2009-06-01  
这个贴跟那个js拼sql不是雷同贴么。
谁说你一定要用ssh了?
小项目你只用jsp也可以啊!

大项目就要严肃点了,不能这么胡闹。
0 请登录后投票
   发表时间:2009-06-01  
复杂才是硬道理。
    封装不是为了简化吗? 不知道其他的语言是个什么情况。
0 请登录后投票
   发表时间:2009-06-01  
liujunsong 写道
打个比方.
现在的j2ee开发,就好象对面来了一个人.
最外面穿着一件风衣(HTML)
风衣里面穿着西装(Struts)
西装里面穿着马甲(Spring)
马甲里面穿着衬衫(Hibernate)
衬衫的里面才是真实的人(数据库)
全部衣服都是采用棉布做成的(Java)
每件衣服上都可能有其他配件(第3方库)
各件衣服之间需要配套使用(版本兼容)

如果你想看到这个人到底长啥样,必须得:先脱一件,再脱一件,再脱一件.最后才能看到最终数据库里面的数据是啥样子.

在很久很久以前,这个人是不穿衣服的.
你直接可以看到他(SQL语句)
现在不行了,你必须穿越层层衣服来看这个人.

每件衣服都是不同的厂家做出来的.而且随时在改变.
你必须自己把这些衣服一件一件套上去,祈祷他们大概能够合身.

每件衣服都可能有漏洞(bug),你得自己想办法打个补丁(patch)上去.


  上面比喻的情况确实反映了当前Java程序开发的现状,我对这些就很不适应。明明可以做到http://127.0.0.1/login.class直接调用用户登录界面,确偏要用struts在xml配置文件里跳过去,跳过来,感觉象脱了裤子放屁,出现了错误难以快速定位。我现在的开发框架,实质上是纯的Servlet,不用JSP,前端的Html和JavaScript由服务器端在需要时生成,SQL也由DataStore对象在需要时生成。

0 请登录后投票
   发表时间:2009-06-01  
mock1234 写道

经常处理大型通讯系统、行业专门应用、经常负责集成用户原本的各种孤立系统,等等真正应用架构的人,一下就可以看出猴子化妆出来的美女。

一谈设计就从数据库做起,那也就是个小公司的一般 pm 常做的小项目才会有的观点。有经验的架构师正好相反,只是制定标准,清楚地对各种重要的标准的内容和通讯流程进行设计,而把具体的数据库实现等等那些底层的东西放在最后次要位置


  “有经验的架构师”有时也不得尊重客户的历史,在一个数据省级集中,信息化程度较高的行业,多年积累的数据才是最宝贵的财富,应用程序可以从两层变到三层,但数据结构应尽量不变,对于系统内的数据库维护人员,已对其中的大部分数据表十分熟悉了,这些数据表甚至可以说成为了行业标准。因此,从我所在的行业来说,向J道论坛中宣扬的“数据已死”的观点是行不通的,我们的实际情况是,软件可以不断更新,但数据结构要保持长期稳定。
0 请登录后投票
   发表时间:2009-06-01   最后修改:2009-06-01
coyizz 写道

明明可以做到http://127.0.0.1/login.class直接调用用户登录界面,确偏要用struts在xml配置文件里跳过去,跳过来,感觉象脱了裤子放屁,出现了错误难以快速定位。我现在的开发框架,实质上是纯的Servlet,不用JSP,前端的Html和JavaScript由服务器端在需要时生成,SQL也由DataStore对象在需要时生成。


如果不想要那个配置,那就是在web.xml里配置呗?省了啥了??要么就是使用“约定优于配置”的思想,就像Grails框架,这是没有配置的。还有干脆不用这个配置的,那就用Stripes框架。

前端没用JSP,很正常啊,现在都用模板了,不知道你是怎么做的?不会是用原始的在servlet里out.println吧??你是怎么保证风格一致的?怎么统一页面校验、出错时的行为的?输入校验、数据类型的转换你是怎么做的?

引用
SQL也由DataStore对象在需要时生成

意图何在?轻型的可以用iBatis,重型的那就用Hibernate。JPA我还没深入了解。你的这个跟它们比有什么优势么(针对特定的场景)?

   新手写程序,动不动就想着“干脆咱们推倒重来”吧(你不一定是新手,我只是指一种不好的习惯)。你真的仔细的研究了那些框架么?
0 请登录后投票
   发表时间:2009-06-01  
coyizz 写道
mock1234 写道

经常处理大型通讯系统、行业专门应用、经常负责集成用户原本的各种孤立系统,等等真正应用架构的人,一下就可以看出猴子化妆出来的美女。

一谈设计就从数据库做起,那也就是个小公司的一般 pm 常做的小项目才会有的观点。有经验的架构师正好相反,只是制定标准,清楚地对各种重要的标准的内容和通讯流程进行设计,而把具体的数据库实现等等那些底层的东西放在最后次要位置


  “有经验的架构师”有时也不得尊重客户的历史,在一个数据省级集中,信息化程度较高的行业,多年积累的数据才是最宝贵的财富,应用程序可以从两层变到三层,但数据结构应尽量不变,对于系统内的数据库维护人员,已对其中的大部分数据表十分熟悉了,这些数据表甚至可以说成为了行业标准。因此,从我所在的行业来说,向J道论坛中宣扬的“数据已死”的观点是行不通的,我们的实际情况是,软件可以不断更新,但数据结构要保持长期稳定。


    数据结构通过domain对象就可以体现了,用不着数据库表结构。“多年积累的数据才是最宝贵的财富”,这个是绝对正确的,那跟你用关系数据库、或是对象数据库、还是文档数据库存储有半毛钱的关系么?它们都是数据。
0 请登录后投票
论坛首页 Java企业应用版

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