|
迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. --百度
在面向对象的设计领域,两个对象进行交互,互相知道对方越少越好。换句话说,只需要知道对方的行为就行,不需要去理解是怎么实现的。
至于是否有无限制进行修改的public方法,在于被操作对象所提供的public方法是否加了限制。
public setArgument(int x)
{
this.a = x;
}
和
public setArgument(int x)
{
if ( x > 0 )
this.a = x;
else
this.a = 0;
}
从这两个方法中可以看出,参数设置的主动权在被操作对象本身,作为主调用对象来说,只需要采用,不需要知道实现细节。
所以,相比直接赋值给被调用对象的属性来说,采用专有的设置方法更加安全。
|