迪米特法则简单易懂的话语来描述就是:知道的越少越好,什么知道越少越好呢,两个类之间交互的越少越好,从而可以减低耦合度,当两个类之间的交互很少,耦合度就会降低,耦合度一旦降低,修改其中一个类就不会对另外一个类造成影响:
我们直接看案例来说明分析:
以下是违反了迪米特法则案例:
煮菜类与买菜类,洗菜类,交互的比较多,耦合度增高:
/**
* 定义一个买菜类
* @author Liudeli
*/
class Food {
/**
* 此方法是买菜的行为
*/
public static void doMethod() {
System.out.println("买了一条鱼,买了一只鸡,买了一头猪....");
}
}
/**
* 创建一个洗菜的类
* @author Liudeli
*/
class Wash {
/**
* 此方法是洗菜的行为
*/
public static void doMethod() {
System.out.println("洗好了一条鱼,洗干净一只鸡,洗完了一头猪....");
}
}
/**
* 创建一个煮菜的类
* @author Liudeli
*/
public class Cook {
/**
* 此方法是煮菜的行为
*/
public static void doMethod() {
Food.doMethod();
Wash.doMethod();
System.out.println("煮好了一条鱼,煮熟了一只鸡,烤完了一头猪....");
}
/**
* 模拟餐饮 测试程序
* @author Liudeli
*/
public static void main(String[] args) {
Cook.doMethod();
}
}
运行结果:
以下是迪米特法则案例:
/**
* 定义一个买菜类
* @author Liudeli
*/
class Food {
/**
* 此方法是买菜的行为
*/
public static void doMethod() {
System.out.println("买了一条鱼,买了一只鸡,买了一头猪....");
}
}
/**
* 创建一个洗菜的类
* @author Liudeli
*/
class Wash {
/**
* 此方法是洗菜的行为
*/
public static void doMethod() {
System.out.println("洗好了一条鱼,洗干净一只鸡,洗完了一头猪....");
}
}
/**
* 创建一个煮菜的类
* @author Liudeli
*/
public class Cook2 {
/**
* 此方法是煮菜的行为
*/
public static void doMethod() {
System.out.println("煮好了一条鱼,煮熟了一只鸡,烤完了一头猪....");
}
/**
* 模拟餐饮 测试程序
* @author Liudeli
*/
public static void main(String[] args) {
Food.doMethod();
Wash.doMethod();
Cook2.doMethod();
}
}
运行结果,和上面一模一样:
谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
刘德利CSDN博客, http://blog.csdn.net/u011967006