java设计模式(8)-外观模式

in 23种设计模式 with 0 comment

外观模式:**

1.外观模式是为了解决类与类之间的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,
而外观模式就是将他们的关系放在一个外观类中,降低了类与类之间的耦合度,该模式中没有涉及到接口

2.把类归纳在一个整体类里边,一起调用,达到整体实现的效果

实体类:

public class CPU {  
      
    public void startup(){  
        System.out.println("启动cpu!");  
    }  
      
    public void shutdown(){  
        System.out.println("关闭cpu!");  
    }  
}  
public class Memory {  
      
    public void startup(){  
        System.out.println("启动内存!");  
    }  
      
    public void shutdown(){  
        System.out.println("关闭内存!");  
    }  
}  
public class Disk {  
      
    public void startup(){  
        System.out.println("启动硬盘!");  
    }  
      
    public void shutdown(){  
        System.out.println("关闭硬盘!");  
    }  
}  

归纳类关系:

public class Computer {  
    private CPU cpu;  
    private Memory memory;  
    private Disk disk;  
      
    public Computer(){  
        cpu = new CPU();  
        memory = new Memory();  
        disk = new Disk();  
    }  
      
    public void startup(){  
        System.out.println("正在启动!");  
        cpu.startup();  
        memory.startup();  
        disk.startup();  
        System.out.println("启动成功!");  
        System.out.println("====================");  
    }  
      
    public void shutdown(){  
        System.out.println("正在关机!");  
        cpu.shutdown();  
        memory.shutdown();  
        disk.shutdown();  
        System.out.println("关机成功!");  
    }  
}  

测试类:

public class ComputerTest {  
  
    public static void main(String[] args) {  
        Computer computer = new Computer();  
        computer.startup();  
        computer.shutdown();  
    }  
}  
正在启动!
启动cup!
启动内存!
启动硬盘!
启动成功!
====================
正在关机!
关闭cup!
关闭内存!
关闭硬盘!
关机成功!
	如果没有Computer类,那么,CPU、Memory、Disk他们之间将会相互持有实例,产生关系,
这样会造成严重的依赖,修改一个类,可能会带来其他类的修改,这不是我们想要看到的,有了
Computer类,他们之间的关系被放在了Computer类里,这样就起到了解耦的作用,这,就是外观模式!
0评论