10.7

1.工厂模式

下面是一个简单的Java代码示例,展示了工厂模型的实现:

// 产品接口
interface Product {
    void doSomething();
}

// 具体产品类A
class ConcreteProductA implements Product {
    @Override
    public void doSomething() {
        System.out.println("ConcreteProductA do something");
    }
}

// 具体产品类B
class ConcreteProductB implements Product {
    @Override
    public void doSomething() {
        System.out.println("ConcreteProductB do something");
    }
}

// 工厂接口
interface Factory {
    Product createProduct();
}

// 具体工厂类A
class ConcreteFactoryA implements Factory {
    @Override
    public Product createProduct() {
        return new ConcreteProductA();
    }
}

// 具体工厂类B
class ConcreteFactoryB implements Factory {
            @Override
            public Product createProduct() {
        return new ConcreteProductB();
    }
}

// 客户端代码
public class FactoryPatternExample {
    public static void main(String[] args) {
        // 创建工厂对象
        Factory factoryA = new ConcreteFactoryA();
        Factory factoryB = new ConcreteFactoryB();

        // 使用工厂对象创建产品对象
        Product productA = factoryA.createProduct();
        Product productB = factoryB.createProduct();

        // 调用产品对象的方法
        productA.doSomething();
        productB.doSomething();
    }
}
        

在上面的示例中,我们首先确定了一个产品接口Product,它包含一个doSomething()方法,用于执行产品的操作。

然后,我们发现了两个具体产品类型ConcreteProductAConcreteProductB,它们分别发现了产品接口中的方法。

接着,我们确定了工厂接口Factory,它包含一个createProduct()方法,用于创建产品对像。

我们还发现了两个实体工厂类ConcreteFactoryAConcreteFactoryB,他们分别发现了工厂接口中的方法,根据需要创建不同的产品对比。

最后,在客户端代码中,我们创建了工厂对像,并使用工厂对像分别创建了实体的产品对像。通过工厂的创建方法,我们可以轻松地获取产品对像,并调整使用其他方法进行操作。

工厂模型的关键思想是将对象的创建与使用分离,通过使用工厂来统统管理对象的创建过程,从而实践更好的精神生活和可维护性。工厂模式可以隐藏对象的创建细节,使客户终端代码只关注使用对象而不需要关注对象的创建过程。

posted @   liuxuechao  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示