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

迪米特原则 (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();
    }
}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值