设计模式(5):JAVA(5):软件设计原则(5)迪米特法则(最少知道原则):封装,只和朋友通信

迪米特法则(最少知道原则):封装,只和朋友通信

什么是朋友?

1.类中的字段

2.方法的返回值

3.方法的参数

4.方法中的实例对象

5.对象本身

6.集合中的泛型

最少知道原则

反例:关闭电脑的流程

class Computers{
    public  void  closeFile(){
        System.out.println("关闭文件");
    }
    public  void  closeScreen(){
        System.out.println("关闭屏幕");
    }
    public  void  powerOff(){
        System.out.println("断电");
    }
}
class Person{
    private Computers computers;
    public void offComputers(){
        computers.closeFile();
        computers.closeScreen();
        computers.powerOff();
    }
}

 当用户关闭电脑时,需要调用计算机的各个方法,但是这些方法的细节太多了,会出现用户流程出错,遗漏调用等等,对于用户来言,他只需要知道关机按钮就够了

正例:封装细节,提供接口

class Computers{
    public  void  closeFile(){
        System.out.println("关闭文件");
    }
    public  void  closeScreen(){
        System.out.println("关闭屏幕");
    }
    public  void  powerOff(){
        System.out.println("断电");
    }
    public void offComputers(){
        closeFile();
        closeScreen();
        powerOff();
    }
}
class Person{
    private Computers computers;
    public void offComputers(){
        computers.offComputers();
    }
}

 

 

设计模式(5):JAVA(5):软件设计原则(5)迪米特法则(最少知道原则):封装,只和朋友通信

上一篇:Toolkit.DataAccess


下一篇:新手oracle学习笔记2:创建修改表