23种设计模式创建型模式详细介绍之工厂模式

Posted 牛哄哄的柯南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23种设计模式创建型模式详细介绍之工厂模式相关的知识,希望对你有一定的参考价值。

23种设计模式【创建型模式】详细介绍之【工厂模式】

设计模式的分类和应用场景总结

可以查看专栏设计模式:设计模式

工厂模式

工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。

在工厂模式中,我们定义一个接口来创建对象,由子类决定要实例化的类是哪一个。这样,客户端就可以通过接口来创建对象,而无需指定具体的类名,这样做的好处是提高了系统的灵活性。

下面是一个简单的工厂模式示例,它定义了一个创建产品的接口,并由具体的工厂实现来创建产品。

Java 代码示例:

// 定义一个产品接口
public interface Product 
  // 定义一个方法
  void method();


// 定义一个具体的产品类
public class ConcreteProduct implements Product 
  // 实现方法
  @Override
  public void method() 
    // 业务逻辑
  


// 定义一个工厂接口
public interface Factory 
  // 定义一个创建产品的方法
  Product createProduct();


// 定义一个具体的工厂类
public class ConcreteFactory implements Factory 
  // 实现创建产品的方法
  @Override
  public Product createProduct() 
    // 使用默认的产品实现
    return new ConcreteProduct();
  


// 使用工厂方法模式
public class Client 
  public static void main(String[] args) 
    // 使用默认的工厂实现
    Factory factory = new ConcreteFactory();
     // 创建产品实例
    Product product = factory.createProduct();
    // 调用方法
    product.method();
  

抽象工厂模式

抽象工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。

在抽象工厂模式中,我们定义一个抽象工厂来创建一族相关或依赖的对象,由具体的工厂子类来决定要实例化的类是哪一个。这样,客户端就可以通过抽象工厂来创建对象,而无需指定具体的类名,这样做的好处是提高了系统的灵活性。

下面是一个简单的抽象工厂模式示例,它定义了一个抽象工厂来创建产品族,并由具体的工厂实现来创建产品。

Java 代码示例:

// 定义一个产品接口
public interface Product 
  // 定义一个方法
  void method();


// 定义一个具体的产品类
public class ConcreteProduct implements Product 
  // 实现方法
  @Override
  public void method() 
    // 业务逻辑
  


// 定义一个抽象工厂接口
public interface AbstractFactory 
  // 定义一个创建产品的方法
  Product createProduct();


// 定义一个具体的工厂类
public class ConcreteFactory implements AbstractFactory 
  // 实现创建产品的方法
  @Override
  public Product createProduct() 
    // 使用默认的产品实现
    return new ConcreteProduct();
    


// 使用抽象工厂模式
public class Client 
	public static void main(String[] args) 
		// 使用默认的工厂实现
		AbstractFactory factory = new ConcreteFactory();
		// 创建产品实例
		Product product = factory.createProduct();
		// 调用方法
		product.method();
	

版权声明:
原创博主:牛哄哄的柯南
博主原文链接:https://keafmd.blog.csdn.net/
个人博客链接:https://www.keafmd.top/

看完如果对你有帮助,感谢点击下面的点赞支持!
[哈哈][抱拳]


加油!

共同努力!

Keafmd

感谢支持牛哄哄的柯南,期待你的三连+关注~~

keep accumulate for my dream【共勉】

                                                       ↓   ↓   ↓   ↓   ↓   ↓  

以上是关于23种设计模式创建型模式详细介绍之工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

23种设计模式创建型模式详细介绍之工厂模式

23种设计模式创建型模式详细介绍之工厂模式

设计模式之 简单工厂模式

Java设计模式之二 ----- 工厂模式

Java设计模式之二工厂模式

Java进阶篇设计模式之二 ----- 工厂模式