0

假设我的实体类实现了一个接口。我如何让我的控件类使用该接口,以便控件类可以将该接口实例化为一个对象。

最初我会使用我的控件类来实例化实体类的实例。但是,我想通过使用接口将它们解耦。

4

3 回答 3

3

似乎抽象工厂设计模式在这里可以提供帮助。

使用定义通用实体工厂的接口。一旦你的控件类有了一个工厂实例(作为一个接口),它就可以调用它的 createEntity() 方法来创建特定的实体实例。

于 2013-02-27T08:18:54.460 回答
0

您可以使用静态工厂方法来完成此操作

示例实现

public class ModelFactory implements ModelInterface{


    public static ModelInterface getNewInstance() {
        return new Model();
    }
}


public interface ModelInterface {

}


public class Model implements ModelInterface{

}

现在在控制器类

 ModelInterface object =  ModelFactory.getNewInstance();
于 2013-02-27T08:36:44.077 回答
0

一种方法是使用静态工厂方法来创建和返回EntityInterface引用。请参阅这个基本示例:

EntityInterface entity = EntityFactory.getEntity();

使用这样定义的类型:

class EntityFactory {
    public static EntityInterface getEntity() {
        return new Entity();
    }
}

interface EntityInterface {

}

class Entity implements EntityInterface {

}
于 2013-02-27T08:17:57.443 回答