如何描述这个代码模式?

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)

清楚了。