- 231
- 0
- 约4.1千字
- 约 8页
- 2021-03-11 发布于浙江
- 举报
一、抽象工厂模式
1.1 题目:
计算机包含内存(RAM)、CPU等硬件设备,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现计算机设备创建过程并绘制相应的类图。
1.2类图:
1.3程序代码:
//定义接口CPU
public interface CPU {
void create();
}
//定义接口RAM
public interface RAM {
void create();
}
//定义类PcCPU
public class PcCPU implements CPU{
public void create() {
System.out.println( win cpu);
}
}
//定义类PcRAM
public class PcRAM implements RAM {
public void create() {
System.out.println(win RAM);
}
}
//定义类MacCPU
public class MacCPU implements CPU{
public void create() {
System.out.println(mac CPU);
}
}
//定义类MacRAM
public class MacRAM implements RAM{
public void create() {
System.out.println(mac RAM);
}
}
//定义接口ComputerFactory
interface ComputerFactory {
CPU produceCPU();
RAM produceRAM();
}
//定义类ComputerPartsClient
public class ComputerPartsClient {
public static void main(String args[]) {
ComputerFactory factory;
CPU cpu;
RAM ram;
factory = new PcFactory();
cpu = factory.produceCPU();
cpu.create();
ram = factory.produceRAM();
ram.create();
ComputerFactory factory1;
factory1 = new MacFactory();
cpu = factory1.produceCPU();
cpu.create();
ram = factory1.produceRAM();
ram.create();
}
}
//定义类PcFactory
public class PcFactory implements ComputerFactory {
public PcCPU produceCPU() {
System.out.println(请使用PC产品族的CPU);
return new PcCPU();
}
public PcRAM produceRAM() {
System.out.println(请使用PC产品族的RAM);
return new PcRAM();
}
}
//定义类MacFactory
public class MacFactory implements ComputerFactory{
public MacCPU produceCPU() {
System.out.println(请使用Mac产品族的CPU);
return new MacCPU();
}
public MacRAM produceRAM() {
System.out.println(请使用Mac产品族的RAM);
return new MacRAM();
}
}
1.4运行结果:
二、桥接模式
2.1题目:
如果系统中某对象有三个维度,如某日志记录器既可以支持不同的操作系统(Windows、Linux、Unix),还可以支持多种编程语言(C#、C++、Java),并且可以使用不同的输出方式(File、Console、XML)。请使用桥接模式设计该系统。
2.2类图:
2.3程序代码:
定义类Language
public abstract class Language
{
protected Logger log;
public void setLogger(Logger log)
{
this.log = log;
}
public abstract void
原创力文档

文档评论(0)