我已经注意到Java中的许多地方(包括C#),许多"getter"方法都以"get"为前缀,而其他许多方法则没有.我从未注意到Sun似乎遵循的任何模式.在getter方法名称中使用"get"有哪些指导或规则?
它归结为语义.是的,C#有"属性",它为你提供了一个get/set'方法'存根......但.NET Framework中以"Get"开头的函数(..."methods"...)应该提示开发人员认为某些操作正在发生,其唯一目的是获得一些结果.
你可能认为这很奇怪,并说"为什么不只是使用返回类型来解决人们的问题?",答案很简单.考虑以下方法:
public Person CreatePerson(string firstName, string lastName) {...}
只是通过该方法的名称,您可能会认为将涉及数据库活动,然后将返回新创建的"人员".
但是,这个怎么样:
public Person GetPerson(string firstName, string lastName) {...}
只需使用该方法的名称,您就可以假设正在对数据库中的人进行100%"安全"检索.
你永远不会多次打电话给"CreatePerson"......但是你应该总是安全地打电话给"GetPerson".(它不应该影响应用程序的"状态").