外観モード-Facade
2291 ワード
外観モードはクラスとクラス間の依存関係を理解するためであり、外観モードはクラス間の関係をFacadeクラスに配置し、クラス間の結合度を低下させ、このモードではインタフェースを含まない
外観モードを作成するには
古典的な例を挙げます. CPU Mainboard Disk Computerクラス(外観クラス)
テスト
テスト結果:
starting the computer cpu startup mainboard startup disk startup computer is started closing the computer disk shutdown mainboard shutdown cpu shutdown computer is closed
ぶんせき
外観クラス(Computer)がない場合、CPU、Mainboard、Diskの間にインスタンスオブジェクトが相互に保持され、深刻な依存をもたらします.Computerがあると、彼らの関係はComputerクラスに置かれ、デカップリングの役割を果たします.これが外観モードです!
外観モードを作成するには
古典的な例を挙げます.
public class CPU {
public void startup(){
System.out.println("cpu startup");
}
public void shutdown(){
System.out.println("cpu shutdown");
}
}
public class Mainboard {
public void startup(){
System.out.println("mainboard startup");
}
public void shutdown(){
System.out.println("mainboard shutdown");
}
}
public class Disk {
public void startup(){
System.out.println("disk startup");
}
public void shutdown(){
System.out.println("disk shutdown");
}
}
public class Computer {
private CPU cpu;
private Mainboard mainboard;
private Disk disk;
public Computer(){
cpu = new CPU();
mainboard = new Mainboard();
disk = new Disk();
}
public void startup(){
System.out.println("starting the computer");
cpu.startup();
mainboard.startup();
disk.startup();
System.out.println("computer is started");
}
public void shutdown(){
System.out.println("closing the computer");
disk.shutdown();
mainboard.shutdown();
cpu.shutdown();
System.out.println("computer is closed");
}
}
テスト
public class Main {
public static void main(String[] args) {
Computer computer = new Computer();
computer.startup();
computer.shutdown();
}
}
テスト結果:
starting the computer cpu startup mainboard startup disk startup computer is started closing the computer disk shutdown mainboard shutdown cpu shutdown computer is closed
ぶんせき
外観クラス(Computer)がない場合、CPU、Mainboard、Diskの間にインスタンスオブジェクトが相互に保持され、深刻な依存をもたらします.Computerがあると、彼らの関係はComputerクラスに置かれ、デカップリングの役割を果たします.これが外観モードです!