标题:【JP2:Accessor(getter/setter)方法】
版本:5~9
“风水轮流转,今年到我家”,如今O/R Mapping技术异常火爆,犹如星火燎原之势,快速蔓延开来。要了解ORM,Entity Bean就是该种技术中最响亮的品牌。现在,又出现了Hibernate【注1】,绝对是该技术的先锋。
既然是O/R,当然在其两边(OO和Relational)都会有配套的开发工具,借用OO软件开发中所提到的开发方法,我这里总结了三种方法(在开发工具领域早已经存在)【注3】:
1、 自顶向下
面向对象方法,是指从分析、设计到表结构生成,然后产生代码的过程。在这类开发方法中,一般都会使用Model工具【注2】,先用use cases捕获需求,然后分析设计出Class,最后生成Database Tables和代码。该方法配套的工具最多,有Rose和Together等,是现在力推的方法之一。
2、 中间开始
面向速度方法,这种方法比较类XP,一开始就生成Database Tables,然后到末期再来补设计和数据库设计文档。该方法主要用于赶项目进度、或者是初学者。该方法不需要其它工具,只使用数据库客户端即可完成。
3、 自底向上
面向过程方法,该方法主要是先设计表结构,然后生成Database Tables,最后可以填补一些其它文档。在需求较成熟、开发人员具有一定经验的环境中往往能得到采用。该方法中主要使用的工具是PowerDesigner,用来设计数据库,非常的不错。
开头就说了一大通(先把观众蒙晕),主要介绍这些概念,是为了更好的促进开发,因为开发环境千差万别,我们所提倡的是以最实用的方式解决实际问题。
用后两种方法开发,写数据对象(Value Object)时,需要写一批Accessor方法,因为数据对象一般就对应于数据库中的表。写这些Accessor方法非常的无聊,又很浪费时间,有没有写完一个对象属性,就可以产生该属性的getter/setter方法呢?
答案当然是肯定的,在Jbuilder中早就要这项功能,以前自己一直没有注意到,直到最近因为实在是坚持不下去了,才去找找上面的方法。功夫不负有心人,我成功了。下面说说操作的步骤:
1、Jbuilder内有多个开发视图:Project、Content、Stucture和Message等【注4】。当new 一个java class时,程序的源代码将显示在Jbuilder的【Content】视图内,在它底部有几个tab按钮,也就是该class的各种不同的表现形式。见(图-1)
图-1(v7)
2、点击底部的tab按钮中的【Bean】按钮,界面将会出现如(图-2)所示的样式。
图-2(v7)
3、然后点击【Properties】,就会显示出该class的所有属性,你也可以在这个给class添加属性。在图形下面的frame中就是显示的所有属性的详细信息。选中【getter】和【setter】,程序中就会自动生成accessor方法,方法排列是按你点击的顺序来放置的。
在该方法中,并没有提供“全选”功能,每一个都需要你点击,不是很方便,希望Borland公司能继续改进。
参考资料:
【注1】:Hibernate是近期逐渐流行的ORM开源框架,想了解它,可以访问它的主站点(http://www.hibernate.org),中文站点可以参考Robbin的(http://hibernate.fankai.com)。
【注2】:所谓的Model工具,就是建模工具,现在最为流行的当然是UML的建模工具,如Rose和Togethe等。
【注3】:这三种方法主要是指从哪个角度开始进行设计,如果以OO来进行设计,当然是采用“自顶向下”方法;如果以面向过程的方法开始设计,就是我说的“自底向上”方法。
【注4】:可以通过点击menus中的“View”来显示这些视图。
By Befresh
2003-9-13