我有一个非常简单的问题。互联网上有适配器模式的例子,在每一个适配器类中都有适合类的对象,需要作为参数进行调整。像这样:
class Adapter {
private SomeClass someClass;
public Adapter(SomeCLass someClass){
this.someClass = someClass;
}
public adaptMethod(){
...
}
}
如果我这样做:
class Adapter {
private SomeClass someClass;
public Adapter(){
this.someClass = new SomeClass();
}
public adaptMethod(){
...
}
}
这仍然是适配器模式吗?
答案 0 :(得分:0)
是的,这仍然是一个适配器。它匹配GoF中的描述和UML,特别是 对象适配器 模式。
虽然您可能会对对象适配器支持适配器的子类的语句嗤之以鼻......
对象适配器允许单个适配器与许多Adaptee一起工作 - 即Adaptee本身及其所有子类。
......我会说这不是模式的关键点,如果是,那么反射就可以实现它。该模式未指定 适配器必须如何组成其适配器。这只是一个实现细节(Dependency Inversion Principle对这个细节有更多的说法。)