如何描述这个代码模式?
How to describe this code pattern?
在我工作的代码库的几个地方,我看到 classes 具有这些类型的属性:
public class LinkEnd
{
public Joint AssociatedJoint { get; set; }
public Point Location
{
get
{
return AssociatedJoint.Location;
}
set
{
AssociatedJoint.Location = value;
}
}
...
}
这种公开 属性 的 属性 模式是否有正式术语?我了解 getter 和 setter,我特别感兴趣是否有一个术语描述 class 表示 属性 作为其自身之一并支持 属性 另一个封装对象的 属性.
我认为您不是在寻找一种模式,而是在寻找规则 - 得墨忒耳定律。
更多:http://en.wikipedia.org/wiki/Law_of_Demeter
请注意,这并不意味着您始终无法直接访问其他对象的属性。您只是不应该访问不同抽象级别的属性。
例如:更好的方法是什么?
digestive_system = person.digestive_system()
stomach = digestive_system.stomach()
stomach.put(food)
对比
person.eat(food)
清楚了。
在我工作的代码库的几个地方,我看到 classes 具有这些类型的属性:
public class LinkEnd
{
public Joint AssociatedJoint { get; set; }
public Point Location
{
get
{
return AssociatedJoint.Location;
}
set
{
AssociatedJoint.Location = value;
}
}
...
}
这种公开 属性 的 属性 模式是否有正式术语?我了解 getter 和 setter,我特别感兴趣是否有一个术语描述 class 表示 属性 作为其自身之一并支持 属性 另一个封装对象的 属性.
我认为您不是在寻找一种模式,而是在寻找规则 - 得墨忒耳定律。
更多:http://en.wikipedia.org/wiki/Law_of_Demeter
请注意,这并不意味着您始终无法直接访问其他对象的属性。您只是不应该访问不同抽象级别的属性。
例如:更好的方法是什么?
digestive_system = person.digestive_system()
stomach = digestive_system.stomach()
stomach.put(food)
对比
person.eat(food)
清楚了。