抽象工厂模式代码

public interface CPU  {
    
    
    public void product();
 
}
public class MacCPU implements CPU {
    
    
    public void product(){
    
    
        System.out.println("MacCPU is producting....");
    }
}
public class PcCPU implements CPU {
    
    
    public void product(){
    
    
        System.out.println("PcCPU is producting...");
    }
}
public interface RAM {
    
    
    public void product();
}
public class PcRAM implements RAM {
    
    
    public void product(){
    
    
        System.out.println("PcRAM is producting...");
    }
}
public class MacRAM implements RAM {
    
    
    public void product(){
    
    
        System.out.println("MacRAM is producting...");
    }
}
public interface AbstractFactory {
    
    
    public CPU productCPU();
    public RAM productRAM();
}
public class PcFactory implements AbstractFactory {
    
    
    public CPU productCPU(){
    
    
        return new PcCPU();
    }
 
    public RAM productRAM(){
    
    
        return new PcRAM();
    }
}
public class MacFactory implements AbstractFactory {
    
    
    public CPU productCPU(){
    
    
        return new MacCPU();
    }
 
    public RAM productRAM(){
    
    
        return new MacRAM();
    }
}
 doc = builder.parse(new File("Design/src/创建型/Abstract/config.xml"));
< config >
    < className >创建型.Abstract.MacFactory</ className >
< /config>
public class Client {
    
    
    public static void main(String[] args) {
    
    
        try {
    
    
            System.out.println("软件设计模式实验||软件2014班||延月刚||2020007218");
            AbstractFactory factory;
            CPU cpu;
            RAM ram;
            factory = (AbstractFactory) XMLUtil.getBean();
            cpu = factory.productCPU();
            ram = factory.productRAM();
            cpu.product();
            System.out.println("-------------");
            ram.product();
        }catch (Exception e){
    
    
            System.out.println(e.getMessage());
        }
    }
}

猜你喜欢

转载自blog.csdn.net/m0_59076472/article/details/130836572