• Java工厂设计模式


    工厂设计模式是一种创建型设计模式,它允许你创建对象,但不暴露其创建逻辑。该模式定义了一个工厂类,该类负责创建对象。这样,客户端代码只需知道如何与工厂交互,而不必知道对象的实际创建方式。
    下面是工厂设计模式的通用结构:

    // 接口定义了对象创建的通用方法
    
    public interface Product {    
    void use();
    }
    // 实现接口的具体类
    public class ConcreteProduct1 implements Product {    
    @Override    
    public void use() {        
    System.out.println("Using product 1");   
     }}
     public class ConcreteProduct2 implements Product {    
     @Override    
     public void use() {        
     System.out.println("Using product 2");    
     }}
     // 工厂类,负责创建产品
     public class Factory {    
     public Product createProduct(String type) {        
     if (type.equalsIgnoreCase("product1")) {            return new ConcreteProduct1();        } 
     else if (type.equalsIgnoreCase("product2")) {      
           return new ConcreteProduct2();       
           }        
         return null;  
           }}
           
       // 客户端代码与工厂交互,创建并使用产品
       public class Client {   
        public static void main(String[] args) {        Factory factory = new Factory();        
        Product product1 = factory.createProduct("product1");        product1.use();   // Outputs: Using product 1        
        Product product2 = factory.createProduct("product2");        product2.use();  // Outputs: Using product 2    
        }}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    这是一个简单的工厂设计模式示例。在这个例子中,我们有一个Product接口和两个实现Product接口的类:ConcreteProduct1和ConcreteProduct2。我们还有一个Factory类,它有一个createProduct方法,根据传入的类型创建并返回相应的产品实例。最后,我们的客户端代码使用工厂创建并使用产品。
    
    • 1
  • 相关阅读:
    数据库MySQL语句期末复习 CTGU
    自定义类型:结构体(内存对齐),枚举,联合
    Jetson Nano资料合集
    SSRF学习,刷题
    Win11系统软件提示端口被占用无法使用解决方法
    webf 框架概述
    单例模式的双重检查锁定是什么
    解决XshellL/SecureCRT使用rz指令上传文件乱码且文件无法删除的问题
    JAVA面试题多线程&并发篇(一)
    差分,前缀和,离散化——模板
  • 原文地址:https://blog.csdn.net/qq_39311377/article/details/133485856