java设计模式五(工厂模式)

java设计模式—工厂模式

一.概述

工厂模式是将一些具有相同属性或功能的类通过一个工厂类进行管理,当需要创建一个实例时,只需在工厂里去获取即可,无需了解每一个类的具体逻辑。

二.应用场景

1.对数据库的操作,如果我们有一个完善的数据库工厂,则在编写代码时,就无需关心连接的什么数据库。
2.我们编写代码连接打印机时,其实就是工厂模式。
3.图片加载,可加载本地图片或网络图片时,可使用工厂模式。

三.模式示例:

假设我们系统连接了惠普和联想两台打印机,下面我们用调用打印机的方式讲解工厂模式的实现过程。
1.创建打印机接口

public interface Printer {
    public void print();
}

2.创建实现具体打印功能的惠普打印机类

public class HpPrinter implements Printer{

    @Override
    public void print() {
        System.out.println("This is HP printer");
    }
}

3.创建实现具体打印功能的联想打印机类

public class LenovoPrinter  implements Printer{

    @Override
    public void print() {
        System.out.println("This is Lenovo printer");
    }
}

4.创建打印机工厂类

public class PrinterFactory {
    public Printer getPrinter(String type) {
        if ("hp".equals(type)) {
            return new HpPrinter();
        } else if ("lenovo".equals(type)) {
            return new LenovoPrinter(); 
        } else {
            return null;
        }
    }   
}

5.模式调用

public class Test {
    public static void main(String args[]){
        PrinterFactory factory = new PrinterFactory();
        Printer print = factory.getPrinter("lenovo");
        print.print();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值