четверг, 4 июля 2013 г.

Закон Деметры (Law of Demeter, LoD — Закон наименьшего знания )

Закон Деметры — одно из правил ООД, помогающее добиться ослабления связанности кода. Он был сформулирован в 1987 году в Бостоне и в простейшем виде может быть сформулирован так: «Используй только одну точку».

Закон накладывает следующие требования на каждый программный модуль:
  • должен обладать ограниченным знанием о других модулях
  • должен взаимодействовать только с известными ему модулями — «друзьями» и не взаимодействовать с незнакомцами
  • обращаться только к непосредственным «друзьям»
Для ООП Закон Деметры может быть сформулирован так: Объект A не должен иметь возможность получить непосредственный доступ к объекту C, если у объекта A есть доступ к объекту B и у объекта B есть доступ к объекту C.

Для функций, Закон Деметры требует, что метод М объекта О должен вызывать методы только следующих типов объектов:
  • собственно самого О
  • параметров М
  • других объектов, созданных в рамках М
  • прямых компонентных объектов О
  • глобальных переменных, доступных О, в пределах М

Комментариев нет:

Отправить комментарий