gpt4 book ai didi

java - Java中有没有一种简单的方法来组合工厂?

转载 作者:行者123 更新时间:2023-12-01 17:00:01 25 4
gpt4 key购买 nike

假设我有工厂类 FactoryAFactoryB 的接口(interface),以及用于生成 AB 类型对象的方法> 分别,并假设我有这些接口(interface)的实现。现在假设我需要一个工厂类 FactoryAB 来实现两个接口(interface),即同时生成 AB。有没有一种简单的方法来组合接口(interface) FactoryAFactoryB 的实现来获得 FactoryAB

编辑:这是因为一个类需要大量工厂来生产大量不同的对象。在这种情况下,在我看来,只拥有一个大型工厂来生产所有需要的组件,而不是跟踪许多小型工厂会更方便。

主要目标是不必编写太多代码来实现这一点。也许,其他一些模式更适合这种情况?

编辑2:本质上,我希望摆脱臃肿的代码,例如:

public class Consumer {
FactoryA factoryAImpl;
FactoryB factoryBImpl;
// ...
FactoryY factoryYImpl;
FactoryZ factoryZImpl;

public Consumer(FactoryA factoryA, FactoryB factoryB, ..., FactoryZ factoryZ) {
// ...
}
//...
}

拥有紧凑/简单的代码,例如:

public class Consumer {
FactoryAtoZ factoryAtoZImpl;

public Consumer(FactoryAtoZ factoryAtoZ) {
// ...
}
//...
}

最佳答案

你可以用组合来做到这一点:

public class FactoryAB implements FactoryA, FactoryB
{
FactoryA factoryAImpl = new FactoryAImplementor();
FactoryB factoryBImpl = new FactoryBImplementor();

public ObjectA getObjectA() {
return factoryAImpl.getObjectA();
}

public ObjectB getObjectB() {
return factoryBImpl.getObjectB();
}
}

关于java - Java中有没有一种简单的方法来组合工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28418953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com