一、定义
迪米特法则(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 "派大星"; } }
②、与依赖倒转原则结合