该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-16
这种思路很好,借鉴了。
|
|
返回顶楼 | |
发表时间:2009-11-16
Arden 写道 可惜douyu.com/net/cn的域名都被注册完了~~~
那就douyuframework咯 |
|
返回顶楼 | |
发表时间:2009-11-16
作为技术学习还可以,真正的企业级软件在产品发布后不是随便改源代码,也不怎么需要重启服务器,就算要重启服务器,一般都是集群的,可以一台一台更新部署。个人看法,这个框架应该是华而不实。
|
|
返回顶楼 | |
发表时间:2009-11-16
最后修改:2009-11-16
很多人没看懂,很多人可能看懂了没评价。单是赞同和附合的意思,我想对楼主是没什么帮助的,我来挑些错,或是说些反对的意见,希望楼主不要太介意。
注, 虽然我下面全是以反对与疑问的方式给出, 并不认为我否定楼主的极积心态以及相应的技术功底. 引用 标题的构思来源于Rod Johnson的那本"Without EJB"以及CCTV5中一句耳熟能详的广告词
Spring最初说法是Without EJB,到最后,发展到现在,它还是实现以EJB的所有功能,然后,它再也不去说Without EJB. 你分析过本质的原因吗?有些东西不是EJB2.0到EJB3.0这么简单。 质变与量变,改良,时间成本,历史原因,理论基础。决定的东西很多。 引用 让编译器跟据这些元数据动态生成类呢
这样做的缺陷是,生成的类无法有效的测试和调试。它本身包含二元悖论:若生成的逻辑简单,那证明生成带来的效益很少,所谓"生成"没什么含义。如果生成的逻辑复杂,无论有效测试和调试,"生成"同样带来了低效。 引用 我在Java语言层次引入了权限管理模型
如果你认为它是优势,我更认为它是一个缺点 引用 不管Hibernate也好,Ibatis2.0也好,相比Rails的ActiveRecord还是逊色了点
仁者见仁,智者见智。 我倒觉得Hibernate远强过ActiveRecord。但我知道这么一说,会引大量的反对。我记得一篇很早的文章http://www.theserverside.com/tt/articles/article.tss?l=RailsHibernate, 这里列出了ActiveRecord强于hibernate的N条优点,我都认为它一条也不成立,反倒我还可例出N条Hibernate做得好而ActiveRecord做不到的。我不想细例引无关的口水,我只能告诉一点,一个从能在27岁时做出那样的成就,它没理由在专注了8年后的今天,会做得更差。 引用 并没有实现与具体业务相关的数据权限,不过在未来的路线图中有打算引入工作流模型
每一个领域都有相应的专家,你认为你是天才?基础平台,业务平台,什么都做,什么都管,最后的结局是你什么都做不了。或者我的意思是,你想重复一次实现整个J2EE体系,是你不能完成的任务。 引用 2.6 再论Action ... 看看Douyu内置的编译器是怎样推断你想要它做什么
推断这一块就涉及很多问题,你这种简单的东西没实用价值,我给你例出几点: 类型识别:具体类,抽像类,接口,子类推断(这里又有可能涉及人工指定或是动太切换等等)。 类的初始化:简单构造,带参构造,初始值,重用 类的生命周期, 与其它DI框架的整合。。。等等,我不想例了。 引用 Douyu的权限模型
你知道为什么现在没有通用的权限框架么?通用性与复杂性的矛盾, 授权界面的全然不同.不是解决什么页面级,字段级,记录级这么简单. 独立于业务逻辑, 用户可配置, 好像你的都没做到. 就细节来说, 权限的分类, 归并, 快速检查, 上下文语义之类, 你全都没有涉及到. 引用 为什么说"以关系数据库为中心的设计思想"并不过时,反而更容易让ORM走上自动化的道路?
也许,试试先OO后DB的不一样的感觉,你不会这么说了。另外,这也是我不看好ActiveRecord的原因之一. "ORM走上自动化",这句话本身就是有问题的. 旧的系统改造, 是那些简单的Conversion(约定)做不到的. 新的系统, Model和DB基本上是一体化的, IDE早就可自动同步, 点一下菜单就可做到(要是有人把插件改好一点,比方,每隔一秒自动扫一下DB的表的改动,自动同步,那就更方便了). 唯一剩下的就只是设计理念上的东西不同: 对象的划分,性能优先或是业务优先, 藕合高低的度的把握之类. 引用 2.9.6 自动校验
这是一个败笔, 也可能是你没怎么处理。 你这里主要实现了一种较验: 引用 如果把模型类作为控制器Action方法的参数,那么就会自动启用自动校验功能 , 因为你的ORM中的Model是系统运行时自动生成的(好像也不能人工修改,我不确定),那么,DB规则就成了你的较验规则. 这很不够. 实际情况根本不是这样, 比个比较常见的比方, 长度为10的字段, 报错要提示为:只允许用户输5个中文.
另外,更重要的业务规则较验,整合,出错流控制, 自动规则与代码规则的合并与覆盖的问题等等,你都没提及. 我想补充的是, struts, spring mvc, hibernate validation等,在这一块做得都有不错的地方. |
|
返回顶楼 | |
发表时间:2009-11-16
最后修改:2009-11-16
用以一年的时间,lz还是值得敬佩的。
让我想起我一个同学,2年的时间研究C++,都是强人。 |
|
返回顶楼 | |
发表时间:2009-11-16
ZHH2009 写道 Tomcat或者Jetty这样的web容器本质上就是实现了JSP/Servlet规范的容器, 我最初也是只想在Tomcat上做扩展就行了,我还花了3个月的时间专门研究了Tomcat6.0.18的源代码, 但是正如文章开头说的那样,直接扩展Tomcat是死路一条。 现在Douyu内置的Http服务器本质上就是从Tomcat6.0.18改造而来的, 但是不能运行传统的JSP/Servlet代码了,这也是我故意这么做的, Douyu的目的就是为了淘汰JSP/Servlet。 Douyu内置的Http服务器是基于NIO实现的,如果不是第一次运行Java源代码(就像第一次运行JSP一样), 运行速度就我目前的使用经验来讲,比Tomcat6还快一点。 结论就是: 你用Douyu写的Java源代码不能在Tomcat或者Jetty这样的web容器中运行。 因为Tomcat或者Jetty这样的web容器不能直接运行Java源代码,而Douyu能,这就是Douyu的强项。 你的Douyu能直接运行Java源代码,这算是强项?淘汰JSP/Servlet算是高级?请给我理由,高级在哪里,强在哪里? ZHH2009 写道 Douyu 目前的版本只是0.1.0,我并不推荐你用到正式项目中,大并发量的应用需要服务器来支撑, 但是Douyu内置的Http服务器目前只是很初级的,我也没做过什么压力测试, 要达到稳定只是时间问题。 如果你告诉我一个框架或者平台有多么多么好,同时告诉我,但是并不推荐你在正式项目中使用,你说我作何感想? 如果要我对你的整个框架做个评价的话,我实在是做不出来。因为任何一个无法投入到生产实践的东西,在我看来都没有任何价值。 |
|
返回顶楼 | |
发表时间:2009-11-16
JAVA界实在太需要这样的东西了!
非常欣赏,很多地方我也有同感,只是受限于时间和知识面无能为力,就算楼主被口水淹了也是值得的,任何好东西刚出来的时候都要顶住传统压力。 不过这个平台的功能最好不要扩展太远,像权限控制个人认为不适合在平台中直接实现,应该做为一个可选的组件提供。 我觉得这个平台应该将实现目标更加明确,缩小或者说“集中”平台的功能。 而且还需要一个更强的数据支持,比如性能测试和比较等。 |
|
返回顶楼 | |
发表时间:2009-11-16
支持一个楼主的钻研精神。问个问题:Douyu框架将如何支持单元测试、集成测试、验收测试?
|
|
返回顶楼 | |
发表时间:2009-11-16
真空跳跃 写道 敢情高手 就是靠刷页面来判断代码能正常工作的
有空来请教一下 嗯 这位朋友还挺搞笑的,既然动态语言好,那你还来java版唠叨个啥 没人跟你争什么语言好 |
|
返回顶楼 | |
发表时间:2009-11-16
真空跳跃 写道 顺便提一下
Intel内部数据测试平台 供200多测试人员 填写测试结果 一天需要对数十万个TestCase做 报表分析 这样的应用算不算企业级 我不自量力的冒充一下高手行吗? 首先,想想intel每年营收是多少 |
|
返回顶楼 | |