2009-05-15 2 views
1

Существует правило программирования, в котором говорится, что метод должен вместо запроса «x», когда ему нужно знать «x.y.z», запросить непосредственно «z». Я просто не могу вспомнить имя.Как называется это правило программирования?

+0

Не могли бы вы немного разъяснить свой вопрос, может быть, с примером. Я не совсем понимаю, о чем вы спрашиваете. – Mike

+0

Что такое x и y? Классы? Объекты? Методы? – thecoop

+0

Нуждается в уточнении, определенно – AAA

ответ

7

Я не уверен, что это именно то, что вам нужно, но это звучит очень похоже на The Law of Demeter.

+0

Да, точно, спасибо! –

+0

Помните, что в правиле всегда есть исключения. Некоторые проекты намеренно нарушают этот закон для внедрения доменных доменов (DSL). Например, проверьте JMock. – InverseFalcon

3

Вы думаете о Законе Деметры?

7

Это известно как Закон Деметры (a.k.a. Принцип наименьшего знания). См. http://en.wikipedia.org/wiki/Law_of_Demeter.

Самая яркая и незабываемая иллюстрация, которую я слышал, была «Когда вы платите за покупку в магазине, клерк не просит у вас вашего кошелька, чтобы они могли извлечь деньги, они спрашивают вы за деньги! "

Смежные вопросы