2012-02-04 51 views
2

我很久以前读了一个规则,使用一个对象,我们不应该指出从一个类到另一个由于null的可能性。模式或规则我不记得

class Foo 
{ 
    public Bar Bar1 {get; set;} 

    public Foo() 
    { 

    } 

} 

class Bar 
{ 
    public string Name{ get; set;} 
} 


Foo foo = new Foo(); 
foo.Bar1.Name; 

这种模式之后的法律或规则是什么?

回答

10

这是Law of Demeter

引述它的一些:

特别地,一个目的应该避免通过另一种方法返回的构件 对象的调用方法。对于许多使用点作为字段标识符的现代面向对象的 语言,该规则可简称为“仅使用一个点”,即 。也就是说,代码a.b()。Method()打破了 法则,其中a.Method()没有。