Cla*_*hes 3 oop encapsulation law-of-demeter
有一些面向对象的工程原理,它表达了一句话:"一个类只应该知道它作为参数所使用的类的合同,或者它所使用的任何内部合同."
反例,在C++中,是:
Foo::bar( Baz* baz)
{
baz()->blargh()->pants()->soil(); // this is bad, Foo knows about blarghs and pants
}
Run Code Online (Sandbox Code Playgroud)
这个原则有名字吗?而且,实际原则而不是我上面的释义会很高兴看到.