JiveJdon Community Forums
在线146人   首页   主题总表   培训咨询   精华   查搜   注册    登陆
首页 » 论坛 » 项目工程开发经验谈
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
1 2 3 4 Go 总共有 48 回复 / 4
 发表新帖子   回复该主题贴
coyizz

悄悄话
发表文章: 5
注册时间: 2007年04月26日 00:32
java开发真的需要那么复杂吗? 2007年04月26日 01:29 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 语言平台(43)      软件开发(13)      框架(49)     
看了一些java开源框架,感觉都太复杂了,特别是想把什么都写进XML文件的做法让人很不适应,为什么不能用Java来搞定一切呢?我的做法是将一切复杂的东西封装在对象底层,看我的框架实现数据增、删、改、通用查询、排序、打印、错误数据校验的代码:
public class ZzjgBean extends ComplexTableDsBean {
DataStore dsMain; // // 数据访问对象
public void onInit() {
setTitle("组织机构"); // 窗口标题
setCan("xtwh"); // 权限控制
dsMain = new DataStore("dsMain", "select code, note, jc, zzjgcc from zzjg order by code", getConnItem()); // 数据来源
dsMain.setColLabel("编码,原文,简称,组织机构层次,组织机构类别"); // 数据表列标题
dsMain.setColCodeTable("zzjgcc", "select code, note from zzjgcc order by code"); // 组织机构层次代码表
regDs(dsMain); // 数据访问对象注册
}
}

通过http://127.0.0.1:8080/com.coyizz.pfc.ZzjgBean.class就可运行程序
banq

悄悄话
发表文章: 9313
注册时间: 2002年08月03日 17:08
回复:java开发真的需要那么复杂吗? 2007年04月26日 08:04 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
>java开发真的需要那么复杂吗?
"计划没有变化快"这个基本因素导致.

如果一个软件在运行时,碰到用户需求变化或者原来功能不能正常运行,你的方式是:
需求反馈到该程序设计程序员,程序员修改代码,再进行测试,可能测试不通过,影响其他功能了,再测试,折腾很长时间,最后编译打包,交付客户.

如果使用XML和Java分离方式:
水平较低的维修人员赶到现场,修改一下配置XML,无须编译Java代码,测试,马上解决问题.

很明显哪个更快呢?

所以,开发软件不能只顾自己开发时方便,还要考虑到运行维护时是否方便,软件不象冰箱,制作好交给用户,很坚固,很稳定,用户也不会提出什么修改意见,当然海尔的定制化冰箱有这个意思,但是这种水平不是一般厂商水平能够做出来的.
boby2046

悄悄话
发表文章: 27
注册时间: 2007年04月27日 19:08
re:java开发真的需要那么复杂吗? 2007年04月27日 19:33 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
XML优于Java实现的原因就在于XML比较容易维护,而java代码还需要修改,编译,测试等,性能是比XML高,但付出的机会成本太大了...

ps:
个人觉得ROR中的约定优于配置这观念Java的框架要借鉴一下,
在前期把问题都解决了总比到了维护实施后期左找右改XML要强吧,
牺牲了灵活性得到的却是可靠和稳定,

不知道我说得对不对..
coyizz

悄悄话
发表文章: 5
注册时间: 2007年04月26日 00:32
再论XML的优劣 2007年05月06日 03:33 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
假设客户在我前面举的例子的基础上,要求增加"组织机构人数"一列,我直接将程序改两行:dsMain = new DataStore("dsMain", "select code, note, jc, zzjgcc,zzjgrs from zzjg order by code", getConnItem()); dsMain.setColLabel("编码,原文,简称,组织机构层次,组织机构类别,组织机构人数"); 编译后用ftp传给客户即可,我的项目是不打包的,我一人维护4个省级行业应用十分轻松。请问XML的支持者门如何应付这个客户需求变化,我看既要修改xml,又要修改java程序吧!我的java程序写错了,有编译器帮助检查,我可以做大范围修改而不过分担心,你的xml写错了,用什么来检查?你有把握进行大范围修改吗?
zhaoce

悄悄话
发表文章: 3
注册时间: 2007年05月08日 15:33
回复:再论XML的优劣 2007年05月08日 15:50 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
天哪,注意你自己的文字
你需要编译以后再传给用户
XML有限制的叫DTD&SCHEME你不知道吗?
在标准的DTD还有SCHEME限制下,你压根就不能随便乱写
要写也先改了SCHEME再说
JAVA运行中的异常不胜枚举,很多是编译器根本发现不了的
就你所说的SELECT语句为例,根本不用写代码,多少有点吃饱了撑着
如果你对现行的规范熟悉的话,很多东西都可以直接用的
有个术语叫做反射,还有个东东叫ORM
理想状态下写到XML中去就可以了,将来要改,改XML语句就可以了
重编译再传送再部署可以说是最低效最没脑子的一种做法
因为谁都会做,任何语言也都可以这样做
可以说XML就是用来规范你的数据用的
你以为XML是干什么用的?
就你发布的这段代码
code, note, jc, zzjgcc,zzjgrs
这都是什么东西?估计没看你代码前也只有你自己知道这些是:
编码,原文,简称,组织机构层次,组织机构类别,组织机构人数
不懂的人还以为zzjgcc=zerg java pig garbage collection呢
而在SCHEME中你就可以对这个数据做相应的解释,说明并加以限制
你的项目是不打包的,亏你也说得出口,简直是没有做过项目
一个人维护4个省级行业应用算什么,我一个人可以维护华南地区所有代理
问题是你一个人再牛能力也是有限的啊,如果你不明白如何规范统一自己的代码
那么你写得再多也都是空的,你死了你的代码也就死了,没有人会去理解你的代码
因为去理解你的代码的时间还不如重新写一个类似的系统出来
zhaoce

悄悄话
发表文章: 3
注册时间: 2007年05月08日 15:33
re:java开发真的需要那么复杂吗? 2007年05月08日 15:54 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
java的应用在于协作
在于团队作业,而不是单枪匹马地单干
那样你还是去写台主机出来吧
单机效率肯定非常高
zhaoce

悄悄话
发表文章: 3
注册时间: 2007年05月08日 15:33
re:java开发真的需要那么复杂吗? 2007年05月08日 16:05 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
任何一个看过JAVA片段和XML片段的人都知道
XML是目前为止最工整结构最严谨的语言
读XML远比读其它语言写的那驼东西来得简单,直接,明了
想想看为什么部署文件有了.properties还是要搞一个.xml出来
数据库也要利用xml来组织,表示层也迫不及待地整xml的网页出来
WS也要借助XML...人家都是傻子,就你最聪明?
你以为你是上帝啊?能够给世界上所有的人制定规则?
连这个常识都不知道,就不要出来丢人现眼了
coyizz1

悄悄话
发表文章: 2
注册时间: 2007年05月08日 20:33
re:chaoce的DTD-SCHEME-ORM-WS-XML 2007年05月08日 20:47 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
看把你急的,一下就冒出了这么多名词。这些名词我都懂,但我不以为然。看来在一个“以复杂性为生”的人云亦云的行道里,连回复的贴子也是这么复杂,好象只有“复杂”才能体现项目价值,才能糊弄客户以赚取更多的利润,所以容不得一点“简化”的声音的。说那么多有什么用,只说当一个数据表增加两个字段后,你的增删改功能要改几个文件,几行代码。
banq

悄悄话
发表文章: 9313
注册时间: 2002年08月03日 17:08
回复:re:chaoce的DTD-SCHEME-ORM-WS-XML 2007年05月09日 17:43 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
coyizz1 不要介意,欢迎提出自己的想法.下面我是泛泛而谈,不针对哪个个人:

你试图简化的想法很好,关键如何执行简化,这里存在分歧.

简化其实是互动的,有两个角色:技术和程序员,就象翘翘板,存在这样几种情况:技术很高级,程序员无需学习;技术一般,程序员需要学习一些;技术很简单;程序员需要学习很多东西.

无疑,第一种是理想的,对于程序员来说,如果少学习太细节知识,直接讲技术解决问题,无疑是终极简化:就是业务人员直接用对象概念表达业务,软件就出来,这些是MDA在做,将来会成熟;

另外一个简化比较折中和实际,鉴于现在技术没有那么先进,做不到那么酷,那么程序员别什么都不学,也要学点,学什么呢?学面向对象OO概念.那么有人说了,我有几年数据库编程经验,算算已经学了点呢?当然,不能算学,这里的学是指OO,非OO设计学得再多,也无法和现在OO技术匹配啊,那就只能出现上面最后一种情况了.这也是很多程序员在使用java技术却觉得没有简化,还需要学习很多一个原因.

现在Java 5.0出现元注释这样新语法,替代XML,但是想想,修改元注释还是需要重新编译的,这和修改源码没有两样,使用RoR这样解释语言是不需要编译了,但是如果没有单元测试这一人工工程管理跟上,程序一上线正式运行,因为粗心等各种琐碎问题全部爆发,更是可怕.

另外,想说的是:约定优于配置(Convention Over Configuration )不是ROR首先提出来,我在2004年底开发的JdonFramework就是遵循约定优于配置,默认简单,容易上手,需要细节还是可以使用XML配置。总之,约定优于配置是基于XML基础上的改进。

当然,我不反对探索简化,但是目前探索结果还是发现,XML比较稳定,符合分离OO思想,能够健壮地对付扩展和维护.

以上是个人观点.




[该贴被banq于2007年05月09日 18:20修改过]
leoyu

悄悄话
发表文章: 51
注册时间: 2007年01月31日 22:11
re:java开发真的需要那么复杂吗? 2007年05月10日 00:21 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
顶,banq说得很好.!!OO思想很重要.有了OO思想,相关的技术就游刃而解了!
ama2000

悄悄话
发表文章: 1
注册时间: 2007年05月10日 10:29
回复:回复:java开发真的需要那么复杂吗? 2007年05月10日 10:37 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
>软件不象冰箱,制作好交给用户,很坚固,很稳定
生命如此脆弱,居然经不起几个小小的爱滋病毒,软件也是如此啊
netandy

悄悄话
发表文章: 2
注册时间: 2007年05月10日 14:33
re:java开发真的需要那么复杂吗? 2007年05月10日 14:35 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我是菜鸟,发表一点自己的关键,coyizz说:java开源框架,感觉都太复杂了。我想知道的是你说的是开发框架难,还是使用框架开发难?框架只是一个工具而已,使用他的人只需要学习如何使用这个框架工具,而不需要去考虑框架底层的实现,城然,框架本身在开发的时候需要考虑到通用性,可能会导致使用框架开发的开发人员在配置和使用的时候繁琐一些,复杂一些,但是对于一个开发团队来说,使用框架开发是最佳选择,因为这样具有代码的通读性,人员变动时不致于断链。另外前几天看了banq的关于那篇普通的jsp无法满足100个人同时在线的那个文章,我也认为不对,使用框架并不能解决网站的性能问题,你能保证jdon一定提供了一个非常好的性能解决方案吗,框架或许提供了一套优秀的性能解决方案,但是我想你能保证吗?具体的还是要从网站的业务来分析,什么地方采用生成静态页面,什么地方采用动态的交互,我觉得是根据实际的业务、服务器的性能,User用户的数量来衡量,寻找到一个最佳的解决方案。我曾经见过一个大型的网站,没有采用任何框架,全部是普通的 jsp,每天的pv大概150,000,000。另外我认为对于负载大的网站可以采用负载均衡的集群的方式,框架能解决一切吗?如果是,请告诉我,网易(163.com)用的是什么框架? 搞不明白了。。。。。,本来不想说的,不说不快!
banq

悄悄话
发表文章: 9313
注册时间: 2002年08月03日 17:08
回复:re:java开发真的需要那么复杂吗? 2007年05月10日 18:14 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
netandy谈得非常好,你主要一个疑问是框架是否可以解决性能问题,这个问题有些偏题,如果想继续探讨可以另外开帖子,我的回答是肯定的,简单说EJB是一个分布式框架,通过集群提供了性能上的可伸缩性;Jdon框架通过将模型缓存和提供POOL,无疑也是提高性能一种。

所以框架既可以提高软件设计质量,也能保证软件运行质量,这样的框架又不能让使用者感到复杂,遵循约定大于配置是一个切实方向,例如:Spring的cache和POOL需要很多配置,而JdonFramework的cache则只需要继承一个接口就可以(或使用元注释)。

netandy提出使用框架必须简单这个切入点非常好,很多人总是遵循过去细化向下看的思维模型,拿过来一个软件首先研究它,不研究不敢用,框架内部何其复杂,看框架代码就如看汇编语言,完全浪费时间,所以,拿到java框架,要遵循使用设计模式的含义,重点学会掌握如何使用框架,因为Java框架都是遵循OO设计,所以,使用框架之前还是必须学习OO设计概念,就象使用电视机之前,必须了解通用电视机概念和它的优缺点。

还是那句话,如果你不学习电视机通用模式和使用方法,反而去花四年时间学习高等数学、模拟点子、数字电路,虽然你学会设计制造电视机基础知识,但是不代表你会使用电视机。

OO框架也是这样,你学会数据库 算法这些框架的底层基础知识,但是不代表你就会使用框架,这完全是两个方面知识,所以我为什么强调初学者一开始可以不学习J2SE,可以不学习算法,但是必须学习OO设计模式,这些都是叫你如何使用电视机。这些已经在“J2SE重要性”一文谈论,这里不再罗嗦:
http://www.jdon.com/article/31338.html


以上有些离题,主要说明外部是否复杂,取决于我们自身思维。
robertlyc

悄悄话
发表文章: 4
注册时间: 2007年05月10日 21:02
re:java开发真的需要那么复杂吗? 2007年05月10日 21:06 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我直接将程序改两行:dsMain = new DataStore("dsMain", "select code, note, jc, zzjgcc,zzjgrs from zzjg order by code", getConnItem()); dsMain.setColLabel("编码,原文,简称,组织机构层次,组织机构类别,组织机构人数"); 编译后用ftp传给客户即可。我的项目是不打包的,我一人维护4个省级行业应用十分轻松。

通过你举的例子可以看出,兄台刚做程序员没几天。
你们的公司也没有正规的配置管理和版本控制。
还是去稍微有点规模的公司学习一段时间,了解一下软件开发的流程再谈谈体会吧
kanny87929

悄悄话
发表文章: 9
注册时间: 2007年05月10日 00:30
re:java开发真的需要那么复杂吗? 2007年05月10日 23:36 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
配置文件绝对需要
~~~
不然返工的话
对于开发团队是一个极大的亏损工作
这个主题有 48 回复 / 4Go 1 2 3 4
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam