何时使用getX方法

时间:2011-01-19 14:07:50

标签: c# java properties

来自C#背景我们使用不需要很长时间才能检索的属性和getX方法(如果某些内容需要很长时间(msdn link))。在Java中,由于没有属性,您是否在这两种情况下都使用getX,或者是否有其他约定来表示从不那么快速的访问(除了记录它)之外的快速访问?

修改 例如,您是否会为耗时的get操作(如数据库访问)使用不同的命名约定,还是使用getX命名约定?

4 个答案:

答案 0 :(得分:4)

通常getX()方法被认为是快速访问方法,数据库支持的方法应该是findX()loadX()或类似的东西,但据我所知,没有全局就此达成协议。有时甚至不会遵守“吸气者应该快速”的规则。

答案 1 :(得分:2)

getX约定来自JavaBean规范。最近,POJOs(普通旧Java对象)的使用变得非常流行,因为许多框架使用getter和setter来操纵你的对象,包括SpringHibernate

更具体地说:

  • getX表示非布符X(getter)
  • isX表示布尔值X(getter)
  • setX代表X(setter)
  • 的任何值

如果您不使用需要使用POJO的框架,那么请务必为您的方法命名,以便您知道他们乍一看他们做了什么。

答案 2 :(得分:0)

这取决于具体情况以及您正在做的事情 - 例如,您可以使用loadXfetchXcomputeX - 或者有时只使用getX正常的“廉价”财产。

答案 3 :(得分:0)

根据经验,创建一个私有成员字段以便本地访问您的属性,并创建一个getter / setter以进行外部访问。

许多第三方库(如Spring)依赖公共方法进行依赖注入(控制反转)和面向方面编程,因此使用getter / setter可以促进这种编程风格。

例如,Spring可能用于将两个对象关联在一起。或者您可以使用AOP在一些有点昂贵的get操作周围添加一些缓存行为。

它还允许您在更改或检索属性时设置断点,添加日志记录等,这对调试很有用。