|
|
От: |
Airat Burganov
|
http://www.burganov.com |
| Дата: | 08.01.06 08:34 | ||
| Оценка: | |||
Избегайте опосредованных вызовов методов других классов.
Непосредственные связи довольно опасны. Опосредованные связи, такие как account.ContactPerson().DaytimeContactlnfo().PhoneNumberO, опасны еще больше. В связи с этим ученые сформулировали «Правило Деметры (Law of Demeter)» (Lieberherr and Holland, 1989), которое гласит, что Объект А может вызывать любые из собственнных методов. Если он создает Объект В, он может вызывать любые методы Объекта В, но ему не следует вызывать методы объектов, возвращаемых Объектом В. В нашем случае это означает, что вызов account.ContactPerson() приемлем, однако вызова account.ContactPerson().DaytimeContactlnfo() следовало бы избежать.