工厂模式

工厂模式(Factory Pattern)是Java中常用的设计模式之一,属于创建型模式,它提供了在创建对象时不会对客户端暴露创建的逻辑,只是通过使用一个共同的接口来指向新创建的对象。


我们通过一个简单的例子来说明,大家都知道电脑的核心是CPU,CPU提供运算处理数据,CPU又分为单核,双核,四核等。在电脑的角度想,电脑并不关心CPU是如何制造的,只要可以插入到主板的CPU卡槽中可以使用就行。在我们需要的CPU的时候,只要告诉厂家型号即可获取我们要的CPU。

类图:
这里写图片描述

/**
 * CPU接口
 */
public interface CPU {
    void compute();
}
/**
 * 单核实现
 */
public class Pitone implements CPU {
    @Override
    public void compute() {
        System.out.println("1+1=2");
    }
}
/**
 * 双核实现
 */
public class Pittwo implements CPU {
    @Override
    public void compute() {
        System.out.println("1+1=2");
    }
}
/**
 * 四核实现
 */
public class Pitfour implements CPU {
    @Override
    public void compute() {
        System.out.println("1+1=2");
    }
}
/**
 * CPU工厂
 */
public class CPUFactory {
    public CPU getCPU(String num) {
        CPU cpu = null;
        if ("4".equals(num)) {
            cpu = new Pitfour();
        } else if ("2".equals(num)) {
            cpu = new Pittwo();
        } else {
            cpu = new Pitone();
        }
        return cpu;
    }
}
public class Client {
    private CPU cpu;

    public static void main(String[] args) {
        Client client = new Client();
        CPUFactory factory = new CPUFactory();
        client.cpu = factory.getCPU("2");
        client.cpu.compute();
    }
}

CPU这个类是个接口,单核、双核、四核的CPU实现compute接口,我们在一个CPUFactory来实现创建CPU的过程,对外隐藏创建的逻辑,在需要CPU实例的地方,使用CPUFactory的getCPU()方法来获取CPU的实例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值