本机/计算属性的getter的最佳实践

时间:2012-10-18 10:18:18

标签: api language-agnostic naming-conventions getter getter-setter

这是关于吸气剂的一般性问题。

假设我有一个User类,其中包含2个本机属性firstnamelastname以及一个动态计算属性fullname

为那些人命名吸气剂的最佳方法是什么?

我没关系:

user->get_firstname();
user->get_lastname();
// or
user->firstname;
user->lastname;

但我更关心:

user->get_fullname();
// or
user->fullname;

因为我们觉得这只是另一种本土财产,但事实并非如此。 fullname属性可以读取但不能写入,没有setter。我们无法操纵它,好像它是一个本地财产。

我希望能够在这些属性(原生动态和动态计算)之间做出改变,我该怎么做?

现有框架的示例以及他们如何处理这个问题非常受欢迎。

2 个答案:

答案 0 :(得分:0)

我不确定你的问题到底是什么。

但是你不需要为那些你不想拥有它们的字段制作setter。 让我做一个C#示例:

public String fullname { get; set; }
public String lastname { get; }

这样可行。

答案 1 :(得分:0)

我会说它应该与其他吸气剂一样命名。无论是基本属性还是计算值,都归结为我希望从最终用户中抽象出来的实现细节。 Fullname可能是今天的计算值,但未来可能不会。我希望将来可以在一个地方自由地改变它,但保持公共界面不变。