шаблон или правило, которое я не могу вспомнить - PullRequest
2 голосов
/ 05 февраля 2012

Я давно читал о правиле, что при использовании объекта мы не должны указывать от одного класса к другому из-за возможности null.

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

   public Foo()
   {

   }

 }

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


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

как называется закон или правило по этой схеме?

Ответы [ 2 ]

10 голосов
/ 05 февраля 2012

Это закон Деметры

Чтобы процитировать некоторые из них:

В частности, объект должен избегать вызова методов объекта-члена, возвращаемогодругой метод.Для многих современных объектно-ориентированных языков, которые используют точку в качестве идентификатора поля, закон можно сформулировать просто как «используйте только одну точку».То есть код ab (). Method () нарушает закон, а a.Method () - нет.

3 голосов
/ 05 февраля 2012

Я думаю, что вы ссылаетесь на Закон Деметры

...