2005年06月
以Spring为代表的提供依赖注入的IOC Container风头越盛,比起IOC的原本意义,逐渐有妹仔大过主人婆的姿势,所以Martin Fowler同学忍不住写了篇blog,提醒一下大家IOC的本缘--一种作为"所有Framework与API Library最根本的区别点"的Design Principle。
当年侯捷同志是以VC下的MFC作例子,马同学与时俱进,换了Ruby、Junit、SWT来教育时下的新新人类。阅读全文>
发表于 @ 2005年06月30日 17:38:00|评论(loading...)|编辑
除了动态语言和闭包,Groovy其他的特性多是对J2SE中设计不合理的地方逐一进行修正,集合、IO、字符串操作......虽然多是星零的好处,但忽然间以整吨好处摆在面前还是挺让人感动的。
同时,Groovy完全兼容Java语法,但又提供糖糖选择的方式感觉很贴心。(我唯一做过的修改就是把函数定义里的"throws Exception" 去掉, 私生子的好处啊)
隐约觉得因为动态语言的无类型,还有闭包这样带着Lisp式FP的印记,可能会激发更大的变革发生。
阅读全文>
发表于 @ 2005年06月30日 16:30:00|评论(loading...)|编辑
如果你把这本书当作《敏捷软件开发》这样的普适的软工书来读,希望从里面找到一些对日常项目有裨益的提议,就不会有什么收获。
因为这本书只教人如何采取保守主义,实用主义的策略,"挺过死亡之旅式的项目而没有损伤"。
这是个有趣的话题。阅读全文>
发表于 @ 2005年06月29日 16:03:00|评论(loading...)|编辑
JetBrains的MPS出来了,MartinFowler也大力捣鼓出一篇《Language Workbenches: The Killer-App for Domain Specific Languages?》成为有志于LOP,DSL的总领性文章。
首先,了解MartinFowler的立场很重要,但似乎为了保证阅读率,MF把立场摆到了最后。
阅读全文>
发表于 @ 2005年06月23日 15:39:00|评论(loading...)|编辑
ANTLR(ANother Tool for Language Recognition)风头正盛,经常可以看到用它做语法解释器的项目,比如Hibernate就在3.0的时候换上它来解释HQL,使HQL的语法获得了加强。
不过看Hibernate对Antlr的应用,觉得EBNF系的方法要解释Java这样的编程语言还好些,如果要解释类自然语言的DSL就比较痛苦,于我这个层次的程序员,antlr在我手中造不出有趣的DSL来。
阅读全文>
发表于 @ 2005年06月22日 01:47:00|评论(loading...)|编辑
Java世界的工具从来就乱花迷眼,但花哨的工具未必适合自己的团队。
下面是又一个项目快要结束之际,洗净铅华总结出来, 最必要的, 能提供最大辅力加持的工具。
参见《死亡中旅》2nd 第x章--最小工具集阅读全文>
发表于 @ 2005年06月16日 17:00:00|评论(loading...)|编辑
如果羡慕Ruby On Rails可以使用动态语言来编码,但又舍不得Spring、Hibernate这些Javaer深以为傲的框架,那么有一种折中的方案:仍然使用Spring+Hibernate框架,而用Groovy/Jython/JRuby来编写Controller类、Service类、DAO类,然后把它们编译成普通的Java Class文件。BuggyBean的blog里用Jython示范了这种方案。阅读全文>
发表于 @ 2005年06月13日 12:40:00|评论(loading...)|编辑
这篇讨论那个存在于普通SQL/HQL语句 与 JDBC/HIbernate之间的,一千几百行代码量的SQL处理层怎么写。
开源项目里,iBATIS这个以SQL为基础的ORM方案可以参考,另外还有iBATIS的新竞争对手ORBroker,后生可畏、后发制人,易用性方面走得更远。
阅读全文>
发表于 @ 2005年06月10日 18:35:00|评论(loading...)|编辑
无论用什么ORM方案,查询语句总还要写的,"如何让它容易写些"怎么也不outdate.
什么样的SQL最好看好写呢,我觉得一段有着良好分行与缩进,中间没有太多+号或者java代码之类的杂质的就已经是很好的了。
可实际情况是,当查询复杂时,上面的要求很少达到。
阅读全文>
发表于 @ 2005年06月06日 23:40:00|评论(loading...)|编辑