在我正在工作的代码库的多个地方,我看到了具有以下种类的属性的类:
public class LinkEnd
{
public Joint AssociatedJoint { get; set; }
public Point Location
{
get
{
return AssociatedJoint.Location;
}
set
{
AssociatedJoint.Location = value;
}
}
...
}
这种公开财产的模式是否有正式用语?我了解getter和setter,我特别感兴趣的是是否存在一个术语,将一个类描述为代表其属性的属性,并用另一个封装对象的属性来支持该属性。
最佳答案
我认为您不是在寻找模式,而是在寻找规则-得墨meter耳法则。
更多:http://en.wikipedia.org/wiki/Law_of_Demeter
请注意,这并不意味着您始终无法直接访问其他对象的属性。您只是不应访问不同抽象级别的属性。
例如:什么是更好的方法?
digestive_system = person.digestive_system()
stomach = digestive_system.stomach()
stomach.put(food)
与
person.eat(food)
很明显。
关于c# - 如何描述这种代码模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29580830/