一、定义

迪米特法则(Law of Demeter)又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。英文简写为: LOD。

二、案例

①、

/**
 * @author 作者 ki16:
 * @version 创建时间:2021年7月23日 下午3:39:03
 *
 */

public class LOD {
    public static void main(String[] args) {
        //海绵宝宝<--->章鱼哥<--->派大星
        
        //海绵宝宝找章鱼哥
        Spongebob spongebob = new Spongebob();
        System.out.println(spongebob.play(new OctopusBrother()));
        
        //章鱼哥找派大星
        System.out.println(new OctopusBrother().playWithPatrickStar());
        
    }
}

//海绵宝宝
class Spongebob{
    private OctopusBrother octopusBrother;

    public OctopusBrother getOctopusBrother() {
        return octopusBrother;
    }

    public void setOctopusBrother(OctopusBrother octopusBrother) {
        this.octopusBrother = octopusBrother;
    }
    
    public String play(OctopusBrother octopusBrother) {
        return octopusBrother.play();
    }
    
    
    
}

//章鱼哥
class OctopusBrother{
    public String play(){
        return "章鱼哥";
    }
    public String playWithPatrickStar(){
        PatrickStar patrickStar = new PatrickStar();
        return patrickStar.play();
    }
    
}

//派大星
class PatrickStar{
    public String play() {
        return "派大星";
    }
}

②、与依赖倒转原则结合