(一)简单工厂模式

本文深入介绍了简单工厂模式的概念及其在Java中的实现方式。通过具体的代码示例,详细展示了如何使用简单工厂模式创建不同类型的对象,并解释了其在面向对象设计中的作用。

  第一次写设计模式,之前只是看书,没有系统的总结,所以开始设计模式系列,不得不说是一个契机,本人才疏学浅,尽善尽美。

  简单工厂模式相信大家看过设计模式的都觉得十分简单,更像是一种编程习惯。我们先来看看前人的总结吧。

工厂方法模式英语:Factory method pattern)是一种实现了“工厂”概念的面向对象设计模式。就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题。工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行[1]

  下面给出简单工厂模式的类图。类图参考维基百科。

  从上面类图可以看出简单工厂模式包含三个角色,工厂类(Factory)、产品接口类(Product)和具体产品(ProductX)。工厂负责生产具体产品,但是工厂类需要知道产品的类型,才能够生产具体产品,下面把上面的类图翻译成具体Java代码来理解下:

  产品接口

public interface Product {
    public void method();
}

  具体的产品接口

public class ProductA implements Product {

    @Override
    public void method() {
        System.out.println("这是产品A");
    }
}
public class ProductB implements Product {

    @Override
    public void method() {
        System.out.println("这是产品B");
    }
}

  工厂类

public class Factory {

    public Product createProduct(String productType) {
        if (null == productType) {
            return null;
        }

        if (Objects.equals(productType, "A")) {
            return new ProductA();
        } else if (Objects.equals(productType, "B")) {
            return new ProductB();
        } else {
            return null
        }
    }
}

  客户端代码,打印出结果

public class Client {
    public static void main(String[] args) {
        Product productA = Factory.createProduct("A");
        productA.method();

        Product productB = Factory.createProduct("B");
        productB.method();

    }
}

 

 

参考文献:

1.设计模式:可复用面向对象软件的基础

 

转载于:https://www.cnblogs.com/potato-not-tomato/p/9622600.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值