专栏名称: 程序员鱼皮
鹅厂全栈开发,持续分享编程技法和实用项目
目录
相关文章推荐
锦缎  ·  以利合者,必以利争 ·  昨天  
知产库  ·  哪吒2被盗版偷票房破坏百亿计划 ·  2 天前  
国家知识产权局  ·  关于核准怀仁恒源瓷业有限公司等363家企业使 ... ·  3 天前  
51好读  ›  专栏  ›  程序员鱼皮

今日代码大赏 | 工厂方法模式

程序员鱼皮  · 公众号  ·  · 2024-04-29 14:04

正文

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

工厂模式的核心目的在于将对象的创建过程抽象化,从而允许子类改变一个类的实例是如何被创建的,而不改变客户端的代码。这种模式被称为工厂方法模式。

工厂模式根据其实现方式的不同,可以分为简单工厂模式、工厂方法模式和抽象工厂模式。今天我们来详细了解一下工厂方法模式。

下面是使用 Java 实现工厂方法模式的示例代码:

// 产品接口
interface Product {
    void use();
}
// 具体产品类
class ConcreteProduct implements Product {
    @Override
    public void use() {
        System.out.println("使用具体产品");
    }
}
// 工厂接口
interface Factory {
    Product factoryMethod();
}
// 具体工厂类
class ConcreteFactory implements Factory {
    @Override
    public Product factoryMethod() {
        return new ConcreteProduct();
    }
}
// 客户端代码
public class Client {
    public static void main(String[] args) {
        Factory factory = new ConcreteFactory();
        Product product = factory.factoryMethod();
        product.use();
    }
}

在上述代码中,我们首先定义了一个产品接口 Product,以及一个具体产品类 ConcreteProduct 实现了该接口。然后,我们定义了一个工厂接口 Factory,以及一个具体工厂类 ConcreteFactory 实现了该接口的 factoryMethod 方法,用于创建产品对象。客户端代码通过具体工厂类 ConcreteFactory 来获取产品对象,并调用产品的 use 方法。

工厂方法模式的优点在于它能够使得一个类的实例化过程独立于该类之外,并且能够将对象的创建和使用分离,从而提高了代码的可扩展性和可维护性。而其缺点在于每次添加新的产品类时,都需要添加一个新的具体工厂类,这可能会导致系统中类的数量成倍增加。

今天的代码大赏就到这里。希望通过这篇文章,你能够对工厂方法模式有一个更深入的理解。

完整代码片段来源于代码小抄,欢迎点击进入小程序阅读!

在线访问:https://www.codecopy.cn/post/xh6hy6


在代码小抄可以看到更多优质代码,也欢迎大家积极分享,可能会获得我们官方的小礼品 🎁~

往期推荐

代码小抄插件上线!一键分享代码

今日代码大赏 | Git 常用命令







请到「今天看啥」查看全文