小编mar*_*inu的帖子

创建具有相同基类型的不同对象。工厂模式?

我必须为大学课程实现一个多生产者/多消费者示例应用程序,并且很难找到以下问题的解决方案,这并没有让我觉得我做错了什么;)

我必须实现 aProducer产生给定类型的Component( CPUComponent, MainboardComponent. 公共Component类的所有子类)。a 的每个实例Producer只会产生给定数量的一种类型的组件(例如只有主板),然后退出。

Components为都或多或少不变的对象(仅final字段)和所有逻辑都在共同的基类实现Component(下面简化的)

public abstract class Component implements Serializable
{    
    private final long id;

    public Component(int id) { ... }

    public long getId()
    {
        return id;
    }
}
Run Code Online (Sandbox Code Playgroud)

的子类Component只是原始的,比如

public class CPUComponent extends Component
{
    public CPUComponent(long id) { ... }
}
Run Code Online (Sandbox Code Playgroud)

由于语言是 Java,我无法使用泛型轻松解决此对象生成问题(就像在 C# 中一样,因为我无法在 Java 中实例化泛型类型参数的新对象)。所以我开始实现一个工厂

public interface ComponentFactory {
    Component createComponent(Producer …
Run Code Online (Sandbox Code Playgroud)

java factory producer-consumer

5
推荐指数
1
解决办法
2755
查看次数

标签 统计

factory ×1

java ×1

producer-consumer ×1