howto:如何重用 无限级分类树 模型 --Jimmy
在接下来的工作中发现,其它的同事在重用我的工作成果的时候遇到了很多问题。甚至我花一天时间写笔记,有些同事居然花两天时间来应用。所以在这篇文章中,我来探讨一下如何在自己的项目中重用 别人的工作成果。
我觉得有这样几种方法:
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 ~.web3.2.3 查看页面效果:3.2.4 手工在MGR Node输入两个节点,可以发现 MGR NODE和NODE有相同的的行为,继承后不用再重写AOP中横切的方法:同时,添加MGR NODE 对象,对NODE对象本身也没有影响。3.2.5 结论:这么做也有缺点,就是 java 只能单继承,如果一个对象,要有多个行为的时候将很难处理。未来,我们可以通过接口方式来实现相应的行为。实现接口的实体类会有相同的字段出现。目前,在audit 插件中就应用这用的思想。
4、我们会积极开发ODC项目的addon,我们可以通过敲命令来实现重复的工作。