门面模式

类图:


实现:

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();
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值