当使用流畅的API进行编程或仅使用方法链接时,我看到的风格大多是这样的:
var obj = objectFactory.CreateObject()
.SetObjectParameter(paramName, value)
.SetObjectParameter(paramName, value)
.DoSomeTransformation();
将点放在行的开头而不是行的末尾的原因是什么:
var obj = objectFactory.CreateObject().
SetObjectParameter(paramName, value).
SetObjectParameter(paramName, value).
DoSomeTransformation();
或者,这只是团队达成共识的风格吗?
答案 0 :(得分:12)
这只是一种风格。
放入的优势。在这一行的开头是,它使得它更加清晰,快速浏览这不是一个独立的方法调用。
例如,如果你这样做:
var obj = objectFactory.CreateObject()
.SetObjectParameter(paramName, value)
你可以看出SetObjectParameter(...)
是一个在其他对象上调用的方法,只是查看该行。这样做:
var obj = objectFactory.CreateObject().
SetObjectParameter(paramName, value)
要求你查看上一行告诉。例如,这可能是格式化问题,即:
var obj = objectFactory.CreateObject();
SetObjectParameter(paramName, value);
(这里,SetObjectParameter
将是当前类型的方法,而不是CreateObject()
返回的类型 - 但是,通过查看第二行,如果没有,那么这是不明显的。线)。
答案 1 :(得分:5)
我能想到的三个原因: