Java设计模式之迪米特法则

2019 Java 开发者跳槽指南.pdf (吐血整理)….>>>

迪米特法则(LoD),又称最少知识原则,定义:每一个类都应当尽量降低成员的访问权限(只和自己有直接关系的人发生通信,不与陌生人发送通信)。迪米特法则的根本思想是类之间解耦,弱耦合,耦合越弱,复用性则越高。

迪米特法则设计规则

    在类的划分上,应该创建弱耦合的类,耦合越弱,复用性越高。

    在类的结构设计上,每个类都应该降低成员的访问权限。

    在类的设计上,只要有可能,一个类应当设计成不变的类。

    在对其他类的引用上,一个对象对其它对象的引用应当降到最低;

    尽量降低类的访问权限。

代码示例

大话设计模式中小菜入职第一天办理入职手续,定义IT部门接口,小李和小张实现接口,其他部门也可以调用。代码如下所示:

IT部门接口
public interface ITDepartment {

    public void installSystem();//装系统

    public void assignAccount();//分配账号

}
IT部门小李
public class Xiaoli implements ITDepartment {
    @Override
    public void installSystem() {
        System.out.println("小李在帮小菜安装系统");
    }

    @Override
    public void assignAccount() {
        System.out.println("小李在帮小菜配置账号");
    }
}
IT部门小张
public class Xiaozhang implements ITDepartment {
    @Override
    public void installSystem() {
        System.out.println("小张在帮小菜安装系统");
    }

    @Override
    public void assignAccount() {
        System.out.println("小张在帮小菜配置账号");
    }
}
其他部门
public class OtherDepartment {

    public void doThing(ITDepartment itDepartment) {
        itDepartment.installSystem();
        itDepartment.assignAccount();
    }
}
测试类
public class Test {
    public static void main(String[] args){
        ITDepartment it1 = new Xiaoli();
        ITDepartment it2 = new Xiaozhang();
        OtherDepartment otherDepartment = new OtherDepartment();
        otherDepartment.doThing(it1);
        otherDepartment.doThing(it2);

    }
}

输出结果如下所示:

Java设计模式之迪米特法则

总结

迪米特法则体现在类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,也不会对有关系的类造成波及。

END


Java设计模式之迪米特法则

长按二维码识别关注


喜欢就点击“好看”吧!

原文始发于微信公众号(一盏红茶):Java设计模式之迪米特法则