`
江南白衣
  • 浏览: 545223 次
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
      写完代码生成的框架,少不了需要ant来调用。写完之后值得一记的东西有三:一、《Ant--The Definitive Guide 2nd》是本不错的cookbook二、与用户进行交互式输入而不是逼着用户改build.xml下面的代码运行时,ant会提问"What is th ...
update at 2005.7.28 upgrade 更新 Java直接调用的方式 and JSR-2前篇:轻量级的代码生成方案选择 0.Groovy Template概述    Groovy Template其实就是JSP的Groovy简化版,而且有XPath这样的内置xml简化语法,并且不依赖于JSP容器,可由Java或Groovy直接调用。   TemplateEngine的实现代码只有219行,在src/groovy/test/SimpleTemplateEngine.java    因为JSR-2的多行String 改用""" ""& ...
作者:江南白衣 1.Groovy的最新八卦之处1.1 Wiki: http://docs.codehaus.org/pages/listpages.action?key=GROOVY 1.2 Mail list的在线浏览和rss定阅        Developer List http://dir.gmane.org/gmane.comp.lang.groovy.devel        User List: http://dir.gmane.org/gmane.comp.lang.groovy.user 2.Groovy的开发现状和未来     编译期健壮性大大增强的1.0 JSR-2,全力除 ...
     作者:江南白衣       以Spring为代表的提供依赖注入的IOC Container风头越盛,比起IOC的原本意义,DI逐渐有妹仔大过主人婆的姿势,所以Martin Fowler同学忍不住写了篇blog,提醒一下大家IOC的本原--一种作为"所有Framework与API Library最根本的区别点"的Design Principle。      当年侯捷同志是以VC下的MFC作例子,马同学与时俱进,换了Ruby、Junit、SWT来教育时下的新新人类。      IOC原理是老生常谈了,可以看马同学的blog。当应用复杂时,都应该考虑把封装从线性调用的AP ...
    作者:江南白衣     前篇:〈在Spring+Hibernate框架下,用动态语言写业务类〉讲述在Spring+Hibernate的架构下,因为动态语言所带来的利益,把一部分业务类改用Groovy编写并编译成Java Class文件。    而且,因为Groovy的强大与简便,加上与Java亲密无间的关系,一些框架类也可以逐渐考虑用Groovy编写。  1.虽然多是星零的好处,但忽然间一整吨好处摆在面前还是很让人感动的。    除了动态语言和闭包、MOP,Groovy其他的特性多是对J2SE中设计不合理的地方逐一进行修正,集合、IO、字符串操作......虽然多是星零的好处,但忽然间以 ...
   如果你把这本书当作《敏捷软件开发》这样的普适的软工书来读,希望从里面找到一些对日常项目有裨益的提议,就不会有什么收获。   因为这本书只教人如何采取保守主义,实用主义的策略,"挺过死亡之旅式的项目而 ...
     JetBrains的MPS出来了,Martin Fowler也大力捣鼓出一篇《Language Workbenches: The Killer-App for Domain Specific Languages?》,成为有志于LOP、DSL领域的总领性文章。    首先,了解Martin Fowler的立场很重要。但似乎为了保证阅读率,MF把立场摆到了最后。   1. LOP带来的两个最大优点是      a. 通过新的封装及思维模式,提高程序员的生产率。      b. 改变程序员与领域专家的关系,最理想情况是领域专家直接用DSL编程。   MF认为第2点比第1点带来的效果大得多,但 ...
    作者:江南白衣      ANTLR(ANother Tool for Language Recognition)风头正盛,经常可以看到用它做语法解释器的项目,比如Hibernate就在3.0换上它来解释HQL,加强了HQL的语法。     因为Antlr是EBNF-AST语法解释系的代表,而自己总是心思思想搞一下DSL(领域语言),所以从Hibernate来学习一下Antlr的应用。      Hibernate HQL translator作者Joshua Davis的两个Blog     Hibernate3 Query Translator Design - Part One : ...
作者:江南白衣                                               序      以Ruby为助力的Ruby on Rails 横空出世,又刷新了一次人们对Framework的认识:Closures、Maxin、Continuations、Metaprogramming、Reflection,又一堆名 ...
    如果羡慕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 ...
    无论用什么ORM方案,查询语句总还要写的,"如何让它容易写些"怎么也不outdate.    什么样的SQL最好看好写呢? 我觉得一段有着良好分行与缩进,中间没有太多+号或者java代码这类杂质的就已经是很好的了。    可实际情况是,当查询复杂时,上面的要求很少达到。    1.最倒霉的程序员会看到什么呢?他会看到一堆拼接SQL的API, 如Hibernate的Critertal       或者Team里的天才主力为了对付那些烦人的分号和"And "而写的SQL Builder类。       但是,对于人这种高智慧生物来讲,理解一段DSL语言 ...
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()funct ...
    前篇:最美的MVC,ORM方案原来在别处--Ruby on Rails        Rails的出现,良性的冲击了自己目前使用的Spring+Hibernate架构。有冲击是好的,否则EJB2和Struts现在还一统江湖。    本文主要记述了Hibernate3.0(H3)和Rails Active Record(AR)在定义和使用Domain Objectt方面的优劣,更重要是冲击过后,计划如何重构改善自己的框架。POJO定义1.AR定义POJO的只需这样寥寥几笔class Company < ActiveRecord::Base   has_many   :clients  ...
Global site tag (gtag.js) - Google Analytics