首页 > 其他 > 详细

设计模式 - 抽象工厂模式

时间:2017-09-22 14:45:08      阅读:475      评论:0      收藏:0      [点我收藏+]

技术分享

public interface CPU {
}

public class AmdCPU implements CPU{
    public AmdCPU() {
        System.out.println("this is AmdCPU");
    }
}

public class IntelCPU  implements CPU{
    public IntelCPU() {
        System.out.println("this is IntelCPU");
    }
}

  

public interface HardDisk {
}

public class SeagateHardDisk implements HardDisk {
    public SeagateHardDisk() {
        System.out.println("this is SeagateHardDisk");
    }
}

public class WdHardDisk implements HardDisk {
    public WdHardDisk() {
        System.out.println("this is WdHardDisk");
    }
}

  

public interface ComputerFactory {

    /**
     * 查看CPU
     * @return  CPU信息
     */
    CPU viewCPU();

    /**
     * 查看硬盘
     * @return  硬盘信息
     */
    HardDisk viewHardDisk();

}


public class DellComputerFactory implements ComputerFactory {
    @Override
    public CPU viewCPU() {
        return new IntelCPU();
    }

    @Override
    public HardDisk viewHardDisk() {
        return new SeagateHardDisk();
    }
}

public class LenovoComputerFactory implements ComputerFactory {
    @Override
    public CPU viewCPU() {
        return new AmdCPU();
    }

    @Override
    public HardDisk viewHardDisk() {
        return new WdHardDisk();
    }
}

  

public class Client {
    public static void main(String[] args) {
        ComputerFactory computer = new DellComputerFactory();
        computer.viewCPU();
        computer.viewHardDisk();
        computer = new LenovoComputerFactory();
        computer.viewCPU();
        computer.viewHardDisk();
    }
}

  输出

this is IntelCPU
this is SeagateHardDisk
this is AmdCPU
this is WdHardDisk

  

设计模式 - 抽象工厂模式

原文:http://www.cnblogs.com/song-wentao/p/7574630.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!