Bootstrap

软件设计原则--迪米特原则

迪米特原则 (Law of Demeter LoD): 一个对象应该对其他对象保持最少了解, 又叫最少知道原则,

  • 降低类与类之间的耦合度

老板需要做一个做直播窗口,了解各个直播平台接口的价格,老板找到经理,让经理统计好后把结果告诉老板

直播接口信息

public class LiveStreaming{
}

经理类

public class Manager {
    public void statisticalMagnitude(List<LiveStreaming> liveStreamingList) {
        System.out.println("目前改接口价格如下: " + liveStreamingList);
    }
}

老板类

public class Boss {
    public void viewStatistics(Manager manager) {
        ArrayList<LiveStreaming> liveStreamingList = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            liveStreamingList.add(new LiveStreaming());
        }

        manager.statisticalMagnitude(liveStreamingList);
    }
}

调用代码

public static void main(String[] args) {
        Boss boss = new Boss();
        Manager manager = new Manager();
        boss.viewStatistics(manager);
}

至此,功能实现了,但老板也跟第三方直播接口交流了,两个类耦合, 根据迪米特原则, 老板只需要结果,不需要和第三方进行交流,经理干就可以了,进行修改

经理

public class Manager {
    public void statisticalMagnitude() {
        List<LiveStreaming> liveStreamingList = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            liveStreamingList.add(new LiveStreaming());
        }

        System.out.println("目前改接口价格如下: " + liveStreamingList);
    }
}

老板

public class Boss {
    public void viewStatistics(Manager manager) {
        manager.statisticalMagnitude();
    }
}

过犹不及,适量最好, 软件设计,不能形成强迫症, 需要随机应变

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;