1定义
迪米特法则定义:一个类应对耦合或调用的类知道足够少,不需要了解被调用类内部复杂逻辑,把不需要了解部分封装,我只调用public方法,因为只暴露了这么多,其它不需要了解。
2 实现
2.1 案例
农场主需要临时工去统计农场中羊的数量
//农场主
public class Ranchers {
public void command(Temp temp){
temp.count;
}
}
//临时工
public class Temp{
//羊群
private List<Sheep> sheeps;
pubilc Temp(List<Sheep> sheeps){
this.sheeps = sheeps;
}
public void count (){
sout "羊群数量” +sheeps.size();
}
}
main(){
List<Sheep> sheeps = new ArrayList<>();
fori;add
Ranchers ran = new Ranchers();
ran.command(new Temp(sheeps);
}
3 作用
迪米特法则主要用于解耦,弱耦合,类的复用性会变高,但会产生许多中转类,提升系统复杂度,为维护加大了难度。
使用迪米特法则要反复权衡,做到高内聚,低耦合。
迪米特法则要求类之间解耦,但解耦是有限度的。