`
tiandirensoon
  • 浏览: 597132 次
文章分类
社区版块
存档分类
最新评论
文章列表
如果羡慕Ruby On Rails可以用动态语言来编码,但又舍不得Spring、Hibernate这些Javaer深以为傲的框架,那么有一种折中的方案:仍然使用Spring+Hibernate框架,而用Groovy/Jython/JRuby来编写Controller类、Service类、DAO类,并把它们编译成普通的Java Class文件来使用。BuggyBean的blog里用Jython示范了这种方案。  1.why 动态语言? 现在的动态语言都已经很面向对象,和传统的用来写写外围脚本(测试,安装)的script语言已经不同,而且Groovy,Jython,JRuby写成的类除了动态载入外 ...
让框架做点事情使SQL/HQL/JDOQL更容易写一些(上) 这篇讨论那个存在于普通SQL/HQL语句 与 JDBC/HIbernate之间的,一千几百行代码量的SQL处理层怎么写。 开源项目里,iBATIS这个以SQL为基础的ORM方案可以参考,另外还有它的新竞争对手ORBroker,后生可畏、后发制人,易用性方面走得更远。 1.针对SQL的换行和对齐,无非就是把它写到XML里面 这样就可以不受Java String不能换行的鸟气了。 这时的问题就是,饱含逻辑的SQL代码被从业务类里面分离出来了,我又不是很喜欢。还有一个未来的方案是用Groovy来写业务类,然后把它编译成Java类。可爱的Gr ...
无论用什么ORM方案,查询语句总还要写的,"如何让它容易写些"怎么也不outdate. 什么样的SQL最好看好写呢? 我觉得一段有着良好分行与缩进,中间没有太多+号或者java代码这类杂质的就已经是很好的了。 可实际情况是,当查询复杂时,上面的要求很少达到。 1.最倒霉的程序员会看到什么呢?他会看到一堆拼接SQL的API, 如Hibernate的Critertal 或者Team里的天才主力为了对付那些烦人的分号和"And "而写的SQL Builder类。 但是,对于人这种高智慧生物来讲,理解一段DSL语言要比读懂一组API容易得多(当然,对于机器来 ...
Ilog JRules 今天对比了一下这三个颇有代表性的规则引擎的规则语言。其中Ilog是商业产品,没有机会实战。 作者:江南白衣1.一样的If--Then 句式与Rete引擎 三者都会把原来混乱不堪的if---else---elseif----else谜团, 拆成N条带优先级的"If 条件语句 then 执行语句" 的句式。 三者都主要使用foreward-chaining的Rete引擎,按优先级匹配条件语句,执行规则语句。 规则执行后会引发事实的变化,引擎又会重新进行条件匹配,直到不能再匹配为止,Rete的算法保证了效率的最高。 2.开发人员使用的规则语言 ...
OO的JavaScript并不高深,麻烦就麻烦在google出来的国人介绍文章经常罗罗嗦嗦,而且之间的说法还各有不同,摆在一起就让人看了头大。这里重拾简单主义,以一个最简单的例子把OO Javascript说明白。 1.一个颇为精简的例子 只需理解三个关键字:第一个是function ,JS世界里Class的定义用"function",function里面的内容就是构造函数的内容。 第二个是this指针,代表调用这个函数的对象。 第三个是prototype,用它来定义成员函数, 比较规范和保险。 //定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area() ...
前篇:最美的MVC,ORM方案原来在别处--Ruby on Rails Rails的出现,良性的冲击了自己目前使用的Spring+Hibernate架构。有冲击是好的,否则EJB2和Struts现在还一统江湖。 本文主要记述了Hibernate3.0(H3)和Rails Active Record(AR)在定义和使用Domain Obj ...
2nd 2005.7.15 加入与J2EE内框架的对比。 Java世界里几百个ORM Framework和MVC Framework妖精打架,吸引了全世界大部分目光的时候,Ruby on Rails悄悄出现了。优点 1.简洁。因为是Pragmatic Programer那帮子人搞出来的东西,所以非常Pragmatic,Ruby ...
在更大的计划之前,先温习一下Design Pattern的功课。 看了《Head First Design Patterns》里讲Decorator的样章,发现JOLT大奖不是白拿的,叙事能力之强,表达之清晰,不是那些满腹经伦的老先生可以比的。而且整个Pattern的讲述过程循序渐进,真的可以保证--小白都能学会设计模式。如果有中文版一定买一本,下一代的程序员有福了。 可惜就只有样章。Head First系列的电子书都不好找,只好还是翻出老先生们的书来看。 这次温习很快做完,其实GOF80%的模式,都是基于一个原则: 优先使用对象组合,而不是类继承. 初学OO的人,都习惯用现实世界去映射程 ...
JPivot是Mondrian的表现层TagLib,一直保持着良好的开发进度。 已经好久没有用了,趁彻底忘记以前,把小小的心得记下来。 1.汉化 1.1 查找所有resources.properties文件,汉化为resources_zh.properties文件 1.2 native2ascii resources_zh.properties resources_zh.properties 1.3 查找WEB-INF/jpivot下的所有xml文件,汉化为xxx_zh.xml 2.架构JPivot的架构看似另类,但其实都是精明的选择。 2.1 使用XML/ XSLT渲染OLAP报表JPiv ...
第3版--2005.6.22更新 上次说到MyAppfuse要有一个代码生成工具, codegeneration.net上汇集了各种平台各种语言的工具。其实代码生成是和代码重复的bad smell一样古老的东西了,不过在这个时代里,大家充分发掘了继承,委托,反射,甚至AOP的之后,coding 依然boring,依然重复,这时候就需要从一个更抽象的层次去描述系统,然后再生成我们又爱又恨的代码,这就是产生式编程(GP)。 高阶的MDA应用 那些用OMG UML作元模型,配合MOF,OCL等等定义与转换语法,期望能比较完整的描述系统的高阶MDA应用,我想不会这么快大范围推广,大家洗脚上田不用 ...
TSSJS全称TheServerSide Java symposium。TheServerSide终于整理好了TSSJS2005的报道,顺着可以拖出一长串blog。另外这个链接有所有讲演的简介。 这个搞得像两会似的会议,老外们到底都聊了些什么呢? 老生常谈 首先是Webwork2, Tapestry, JSF, Flex几个个Web Framework一字排开,各做各的宣传。 然后到毫无新意的EJB3。Hibernate与JDO也乘机宣传了一下自己的新版。 当然也少不了SOA和AOP两位常客,SOA还讲了非常多场。 然后Rod Johnson身为大佬,作了N场演讲。 <Effect ...
最近看关于TSSS2005的文章,上面一大堆人名看得头晕脑胀的。开个档案把张三李四按姓氏笔画记下来方便查找,也方便日后的八卦。不断错漏,不断更新中.... 人名上的链接是xiecc写的诸人八卦,很有狗仔队翻人中学毕业纪念册的风范。 Adrian Colyer AspectJ leader,AJDJ leader,IBM Ben Galbraith 活跃人士 Benjamin Renaud BEA副CTO Bill Burke JBoss 架构师,EJB 3.0专家组里的Jboss代表 Bob McWhirter Groovy,Drools founder ...
第3版 --2005.6.22 更新 EAP版本已发布 Meta Programming System (MPS), 是Sergey Dmitriev--JetBrains公司的老板提出的一个东西。 目前已经发布了EAP试用版. 下面是他的战斗檄文:《Language Oriented Programming : The Next Programming Paradigm》 CSDN的切罗斯基把它翻成了很好的中文 Sergey Dmitriev认为,我们今天把领域问题映射成通用编程语言如Java、C#,就像把C语言用汇编代码表达出来一样如在石器时代。所以我们需要可以随意制造贴近问题域的DS ...
看BileBlog的TheServerSide年会报道,里面把各位大师冷嘲热讽的够惨,最适合打发中午的无聊光阴。 大师们当然没有Hion说得那么不际,但想一下,有些大师的确可能只是恰逢其会的成为了世界范围的明星,功力,也许只相当普通软件公司里的一个PM。 但现在媒体的力量太强大了,可以随便捏土成人。比如新晋的博文视点,他的市场宣传,封面包装和译者的水平的确大大提高,给国内的出版社一个冲击,但他所选的有些图书,对国内程序员的裨益远不如宣传词所称。大师、名作,程序员在付出金钱与时间之后,未必能得到相同的回报。生人祭祀不断,而神祗从未降临。大师不是神,只是恰逢其会成为明星,为了两餐着想,有些还非 ...
作者:江南白衣 原文出处及讨论:http://www.blogjava.net/calvin/archive/2005/09/13/12878.html 一个Appfuse式的项目,会通过项目里最典型的几个场景,demo团队目前的体系框架和设计模式。 它的好处有一打,比如为所有项目提供共同的Library Stack,提供最可靠的代码蓝本,保证大家的模式和代码风格一致,加快知识在团队的传播,方便新人的融入,还有为试验代码提供一个稳定简洁的环境。 所以,一个长期合作的团队,需要这样一个MyAppfuse。 但还要有三条铁的纪律,才能保证辛苦做出来的MyAppFuse不是个寂寞的芭比 ...
Global site tag (gtag.js) - Google Analytics