2

我有这样的设计:

public interface MyInterface {
    public abstract List<Sth> getSth();
}

public class MyConcreteImplementation implements MyInterface {
    private ConcreteSth mSth = new ConcreteSth();

    public List<Sth> getSth(){
        return mSth.getSth(additionalParams); 
    }
}

上面代码的目的是提供统一的方法来从其他类调用。

这可以称为模式吗?如果有怎么命名?

4

5 回答 5

5

在我看来,它就像一个Adapter。它适应ConcreteSth.MyInterface

无论如何,如果它完成了您期望的工作,您应该询问它是否只是出于好奇的模式。

于 2010-09-24T13:23:01.880 回答
3

您只是在这里遵循基本的面向对象设计。对我来说,这看起来很简单,如果您真的热衷于设计模式,我可以将其扩展为委托的一种形式。

于 2010-09-24T13:21:14.033 回答
1

适配器

上面代码的目的是提供统一的方法来从其他类调用。

这听起来真的很像适配器。你想让某个类适应你的界面。这里的接口是MyInterface,适配者是ConcreteSth

于 2010-09-24T13:20:19.590 回答
0

我将其称为适配器:它MyInterface.getSth在现有接口(即 )周围包装了另一种方法( ConcreteSth),而不会更改功能。

于 2010-09-24T13:20:57.080 回答
-2

工厂方法?

工厂方法模式的本质是“定义一个用于创建对象的接口,但让子类决定实例化哪个类。工厂方法让一个类将实例化推迟到子类。”

http://en.wikipedia.org/wiki/Factory_method_pattern

于 2010-09-24T13:20:44.473 回答