Xdoclet2(二):与Xdoclet1.X比较

Xdoclet2无论在配置、开发、及性能都比Xdoclet1.X有大大的提升。
关于两代Xdoclet的内部结构可以用Xdoclet2官方网站的两幅图片来容易看出:
Xdoclet1.x:

这一代,以Xdoclet1.x引擎为核心,由XjavaDoc提供源数据,使用XDT模板来实现文件的生成。而使用方式只有AntTask一种。
Xdoclet2:

这一代,Xdoclet2的核心只有很少的一点点代码,它使用现有的框架来获得源数据,再结合现流行的模板框架来实现文件的生成。核心向外界提供接口,用户可以根据自已的需要去实现模板引擎或者源数据的提供。
在源数据提供方面,使用了QDox,模板方面都是使用Apache的成熟框架,Jelly及Velocity,使用模板框架的好处是不需要开发者再去学习一种模板语言。最后,Xdoclet2的使用方法有多种,而不局限于AntTask。

开发者将会看到更多的不一样。在Xdoclet2中,开发一个自定义的标签是相对容易很多,开发者可以把大部分的工夫放在制订标签的标准上,然后使用接口表现出来。嘿。注意这里说的接口。Xdoclet2让我们以接口的方式来定义一个标签。而具体的实现,让她的一个内置任务帮你搞定。最后你只需要轻轻松松写个Plugin及模板就完成了。

刚才讲到了用“接口”来表现一个标签,包括其属性等相关信息,在Xdoclet1.X看来,是不可能的。而在2代时,开发者在写自定义标签的是候是使用一种已定义的Tag:qtags。使用Qtags来告诉Xdoclet2,接口的方法名里所说的属性(方法名通常是Get或Is方法)是否必需、取值范围等等。Qtags会把你的意图实现。将会为你生成接口的实现类。而在1.X的时候,我们通常要自已定义而且实现。2代的一个闪光点就是使用Qtags大大简化了Tag标准的制订。

下次,我将用个简单的例子来示范如何编写一个自定义Tag并投入到使用中的。

Xdoclet2的官方网站



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章