Skip to content

Latest commit

 

History

History
29 lines (15 loc) · 1.8 KB

File metadata and controls

29 lines (15 loc) · 1.8 KB

Принцип минимальной информированности (Закон Деметры)

!!! Может быть перефразирован как «Используйте только одну точку»

Каждый программный модуль должен:

  • обладать ограниченным знанием о других модулях: знать о модулях, которые имеют «непосредственное» отношение к этому модулю.

  • взаимодействовать только с известными ему модулями «друзьями», не взаимодействовать с незнакомцами.

  • обращаться только к непосредственным «друзьям».


Аналогия из жизни: Если вы хотите, чтобы собака побежала, глупо командовать её лапами, лучше отдать команду собаке, а она уже разберётся со своими лапами сама.

Основной идеей является то, что объект должен иметь как можно меньше представления о структуре и свойствах чего угодно (включая собственные подкомпоненты).

В объекте можно вызывать методы принадлежащие только:

  • самому объекту;

  • объектам, переданным в параметрах метода;

  • любому объекту созданному внутри метода;

  • любим компонентам объекта (Композиция).