我觉得代码不好写,写牛*比较容易.


天天在网上看到几个名人... 就会译书,写个project看看? just so-so .. 追星猪..

专程注了个ID,前来顶贴,以示对JdonFramework的支持与祝贺。

我是不懂什么技术的,但我想,就算“轻量级框架”已经深入人心,EJB不也还是在发展着吗?而且,已经有许多成熟的资源可以利用。记的一些文章中讲过:无论选择什么技术,能实现需求就是好的。

我是真心佩服gigix和benq,不仅因为他们是“大牛”,更因为他们有程序员的执着,有程序员的实践精神,当然也喜欢他们较真的一面^_^。求各位大牛从JdonFramework的成长考虑,能为它的成熟出份力,好吗?

>>我觉得一个好的framework应该象weblogic workshop那样,一个好的>>runtime加上一个强大的IDE,这样程序员就不用关心framework是怎样 >>的,只要实现业务就可以了。

很有道理,不过我担心程序员会有抵触情绪,比如说学了某个专门的IDE,它可以帮助你把业务逻辑类管理起来,做到重用,需要时取出相关的代码,在可视化工具拖拉拽就能实现程序,这样程序员实际不知道后台是怎么实现的,他所要做的工作就是简单的编程,根本接触不到一些底层的技术,如IoC,AOP等。大家怎么看这个问题?

>> 我觉得一个好的framework应该象weblogic workshop那样,一个好的runtime加上一个强大的IDE,这样程序员就不用关心framework是怎样的,只要实现业务就可以了。

然后呢?如果做这玩意的公司倒闭,你就跟着完蛋。IDE生成一大堆烂代码,你没法维护也没法移植。兄弟,偷懒不是办法,layered architecture才是正道。

>>现在开源的framework给我的感觉好象都在在卖弄新名词,没什么实质的意义。

或者会不会是你没有理解它们的意义呢?相比之下,我更愿意怀疑你的水平,而不是Rod Johnson和Rickard Oberg们。

>>然后呢?如果做这玩意的公司倒闭,你就跟着完蛋。IDE生成一大堆烂代>>码,你没法维护也没法移植。兄弟,偷懒不是办法,layered >>architecture才是正道。

如果自己公司实力比较强,是否可以实现自己的IDE呢?比如用友和金蝶就有自己的研发队伍。

我想加入这个开远项目的开发,请问,我该如何加入呢?

runtime framework 和IDE一样可以open source。根本不用担心公司倒闭问题。
目前的open source framework要程序员做的事情太多了,光看一些spec就要花上一些时间,哪里还能专心去关注业务。
目前所要解决的是把一些现有的framework包装一下,能很快上手,进入开发,而不是吸引别人去关注其内部技术怎么怎么先进。

> runtime framework 和IDE一样可以open
> source。根本不用担心公司倒闭问题。
> 目前的open source
> framework要程序员做的事情太多了,光看一些spec就要花上?> 些时间,哪里还能专心去关注业务。
> 目前所要解决的是把一些现有的framework包装一下,能很快?> 手,进入开发,而不是吸引别人去关注其内部技术怎么怎么先
> ?

呵呵,你是不是觉得JB最好把Spring,Hibernate啊这些都给如Struts这样的融合进来啊?再来一个Spring Wizard或者Hibernate Wizard?

其实,我也喜欢这样啊,框架多了,程序员负担重啊....~:)

我曾经面试的时候,就提出一个问题:“Java缺点是什么?”,n多人说的是书本上说的东西,我不满意,那是老调重谈。其实java的缺点是有太多的选择了,没有统一的标准,真是害了该语言。如果我们有过EAI的经验,就知道这个缺点是有多么的危害。banq的开源的精神很可佳,值得大家学习,不管整体好不好(我就用了2天专门看了sources),但是不是有点增加我们的困惑了呢?这个值得商榷。
开源的东西如果不是象jboss,hibernate,struts等引导大众,不去收敛,而是让大家更扩散,那么它注定是crap。因为它只能增加初学者的困惑。
这就是我的观点。

>> 我觉得一个好的framework应该象weblogic workshop那样,一个好的runtime加上一个强大的IDE,这样程序员就不用关心framework是怎样的,只要实现业务就可以了。

然后呢?如果做这玩意的公司倒闭,你就跟着完蛋。IDE生成一大堆烂代码,你没法维护也没法移植。兄弟,偷懒不是办法,layered architecture才是正道。

>>现在开源的framework给我的感觉好象都在在卖弄新名词,没什么实质的意义。

或者会不会是你没有理解它们的意义呢?相比之下,我更愿意怀疑你的水平,而不是Rod Johnson和Rickard Oberg们。

不同意gigix 观点
layered architecture 不是正道,IDE才是正道
这就是技术大牛和商业大牛的差距

没法维护也没法移植是因为你选择的IDE烂的缘故,
如果选用MDA工具就不会有这样的问题

还有,偷懒是程序员的美德.......

人如果不偷懒,要程序员有什么用


国内很多牛人没有能力做IDE,就说做IDE不好

我看源代码:

1、看源代码中有*.jbx,请问你的JBuilder是否注册?
2、源文件有的是GB2312编码,有的是UTF-8编码,是否太乱了?
3、给人以源码,就应该给出需要的第三方类库及版本,比如JDOM,我用1.0正式版不行
4、生成的JavaDoc乱码
5、缺少相关的文档

在tss上看到这个东西,真是吓了一跳
"It has a MDA rapid development tool"
虽然作者在后面又谦虚的讲
"Jdonframework is not MDA Tools, I don't truely believe in MDA, Jdonframework just

introduces abstract data concept:Model, it is beginning to MDA."

接着跑到他主页一看,"开发总体步骤只需要四步(only need 4 step based in JdonFramework)"
"1. 创建user模型类( create a User Model):"
"2. 建立业务对象Business Object类,以EJB的有态Bean为例子,如下( create a business

Object):"
"3. 配置jdonframework.xml如下(config your jdonframework):"
" 4. 创建Struts的ActionForm和user.jsp页面,注:一般情况无需创建Action( create a

ActionForm Object and user.jsp, donot need create the Action implemention )。"

非常诱人,尤其我看到新增删除只要vdb.put(user.getUserId(), user);就可以了
简直比hibernate还要优雅
不过我仔细看了他的demo后才发现这仅仅是模拟模拟数据表操作而已
以下是从他demo中得出的结论
1,整个数据访问的架构是sessionbean+dao+pojo
这也是这些年国内比较流行的结构
不知道他为什么要采用stateful sessionbean
一般更通常的做法是用stateless sessionbean
2,接下去看一下他的配置文件
<ejbService name="testEJB">

<jndi name="TestEJB" />

<ejbLocalObject class="com.jdon.framework.test.ejb.TestEJBLocal"/>

</ejbService>

这一段简化了ejb的配置
在代码中用TestEJBLocal testEJB = (TestEJBLocal) WebAppUtil.getEJBService("testEJB",
request);
得到ejb接口

3,
<model key="userId" class ="com.jdon.framework.test.model.UserTest">

<actionForm name="userActionForm"/>

<handler>

<ejbService ref="testEJB">

<getMethod name="getUser" />

<createMethod name="createUser" />

<updateMethod name="updateUser" />

<deleteMethod name="deleteUser" />

</ejbService>

</handler>

</model>


UserTest就是domain object 或dto
userActionForm就是struts里的actionform
我想框架应该会自动在两者之间作字段copy和类型转化
以及字段validate的工作吧
(由于struts的缺陷,struts actionform类型只能是)

handler可能是一个自动产生的java class
在他的demo原码包里,我看到了userhandler.java
估计用的是code generator

框架会自动产生一个叫userAction的struts action
通过一个action参数(get or post)来决定要做的动作(crud)
委派给userhandler的相应的method
userhandler再委派给session bean

很明显,这个框架给我们带来的好处是省去了struts action的编码
但仅仅而已
为了代替action,又code generate了一个handler类
按我的想法,还不如code generate一个action类
现在的做法,牺牲了action导航的功能
还有,为什么要采用code generate
为什么不用dynamic proxy

省去struts action并没有给我们带来多少便利
可能带来的麻烦更多


4,分页和tree management
jdon是研究jive起家的,分页仍然是jive的做法,
tree management在demo里看不到
估计还是jive的做法

5,cache功能
看了demo,比较乱,数据库crud只是用map做了模拟
没看出到底哪里能够做aop拦截的
我想大概是dao层

结论:作者在简化ejb管理和struts做了相当的努力
但是,这种简化是不是使程序各部分更紧密的耦合
(这里先不谈对框架的偶合)
框架有多大程度的灵活性
都有很大的疑问

另外从现有的功能来看,是否足够称得上framework
用模板之类的更恰当一点

另外,放到高手云集的tss上,的确有点寒碜
版本号一开始就定成v2005,也显示了浮躁的心态
号称MDA rapid development tool之后又否认的做法也挺奇怪的
如果这个也称得上mda,那么可能2,3年前那些ide工具都能称mda了
但不管怎么说,作者的尝试值得赞赏
希望中国人能对java开源社区有更多的贡献
不要接触一点国外的思想就一个个冒充大牛,架构师

这儿有多少人是只通过jb的wizard就把ejb/struts应用如飞
从来不用去考虑ejb/struts等等的技术细节的?

ide从来只是锦上添花,不可能帮你一蹴而就
我还没见过那个先天不良的设计能利用一个完美的ide咸鱼翻身的

国内很多牛人没有能力做IDE,就说做IDE不好
====================
lol,无语中

就是阿,那些只会用vi,用ue的人,成天说ide没用的人
肯定是自己学不会怎么用ide,所以就拼命贬低那些集成工具,en,