码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式 - 抽象工厂模式

时间:2017-09-22 15:36:29      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:java   system   factory   查看cpu   ima   out   dha   分享   设计   

技术分享

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

  

设计模式 - 抽象工厂模式

标签:java   system   factory   查看cpu   ima   out   dha   分享   设计   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!