如何描述这个代码模式?

时间:2015-04-11 17:27:00

标签: c# design-patterns

在我工作的代码库的几个地方,我看到具有这些属性的类:

public class LinkEnd
{
    public Joint AssociatedJoint { get; set; }

    public Point Location
    {
        get
        {
            return AssociatedJoint.Location;
        }
        set
        {
            AssociatedJoint.Location = value;
        }
    }

    ...
}

这种暴露财产属性的模式是否存在正式用语?我理解getter和setter,我特别感兴趣的是,如果有一个术语描述一个类,它将一个属性表示为一个属性,并用另一个封装对象的属性支持该属性。

1 个答案:

答案 0 :(得分:1)

我认为你不是在寻找一种模式,而是寻求demeter的规则。

更多:http://en.wikipedia.org/wiki/Law_of_Demeter

请注意,这并不意味着您始终无法直接访问其他对象的属性。您不应该访问不同抽象级别的属性。

例如:什么是更好的方法?

digestive_system = person.digestive_system()
stomach = digestive_system.stomach()
stomach.put(food)

person.eat(food)

很清楚。