howto:如何重用 无限级分类树 模型 --Jimmy

之前,我写了两篇文章来介绍如何在项目中创建无限级分类树并将它加载到到portol的页面中(第一篇第二篇)。页面效果比较简陋,不过已经实现了我们需要的效果。
在接下来的工作中发现,其它的同事在重用我的工作成果的时候遇到了很多问题。甚至我花一天时间写笔记,有些同事居然花两天时间来应用。所以在这篇文章中,我来探讨一下如何在自己的项目中重用 别人的工作成果。
我觉得有这样几种方法:
1、复制别人写好的项目代码,或者手工添加。优点是比较灵活,缺点是耗时多,对于学习者要求高。
2、使用别人的roo脚本文件。优点是重用快速,缺点是只能重用命令中的操作,如果在pojo中做了更改,将无法重用。
3、使用面向对象的继承 来实现重用。我这里来介绍这种方式。
3.1 任务介绍:在我上面的文章中介绍了创建菜单树,如果在你自己的项目中需要创建其它的树状结构,如组织结构树。我这里使用继承来实现重用。
3.2 实现过程:
3.2.1 pccw插件中已经添加了 node entity,我们可以先创建pccw项目,可以参考 这篇文章
3.2.2 假设我们需要创建组织结构tree,这里我们不需要再重新创建MgrNode 了,而可以直接从Node类继承,命令如下:
entity --class ~.domain.MgrNode --extends ~.domain.Node
web mvc all --package ~.web
3.2.3 查看页面效果:
 
 3.2.4 手工在MGR Node输入两个节点,可以发现 MGR NODE和NODE有相同的的行为,继承后不用再重写AOP中横切的方法:
同时,添加MGR NODE 对象,对NODE对象本身也没有影响。
3.2.5 结论:这么做也有缺点,就是 java 只能单继承,如果一个对象,要有多个行为的时候将很难处理。未来,我们可以通过接口方式
来实现相应的行为。实现接口的实体类会有相同的字段出现。目前,在audit 插件中就应用这用的思想。
4、我们会积极开发ODC项目的addon,我们可以通过敲命令来实现重复的工作。
posted on 2012-03-24 22:59  Jimmy_June  阅读(241)  评论(0编辑  收藏  举报