类图:
实现:
HardDrive.java
package com.facade;
public class HardDrive {
public byte[] read(long lba, int size)
{
byte bin[] = null;
//read
return bin;
}
}
CPU.java
package com.facade;
public class CPU {
public void execute() { }
}
Memory.java
package com.facade;
public class Memory {
private byte[][] container = new byte[1024][];
public void load(int position, byte[] data) {
container[position] = data;
}
public byte[] read(int position) { // will not be visible for client
return container[position];
}
}
ComputerFacade.java
package com.facade;
public class ComputerFacade {
private CPU cpu;
private Memory memory;
private HardDrive hardDrive;
public ComputerFacade()
{
this.cpu = new CPU();
this.memory = new Memory();
this.hardDrive = new HardDrive();
}
public void start() {
byte bootData[] = hardDrive.read(0x000fe, 1024);
memory.load(0x000fe,bootData );
cpu.execute();
System.out.println("computer started");
}
}
Client.java
package com.facade;
public class Client {
private static ComputerFacade computer = new ComputerFacade();
public static void main(String[] args) {
computer.start();
}
}