我有一个非常简单的问题。互联网上有适配器模式的例子,在每个例子中,适配器类都可以获取需要作为参数进行调整的类的对象。像这样的东西:
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(){
...
}
}
这仍然是适配器模式吗?
是的,这仍然是一个适配器。它匹配来自 GoF 的描述和 UML,特别是对象适配器模式。
虽然您可能会对对象适配器支持被适配者的子类这一说法提出异议...
对象适配器允许单个适配器与许多 Adaptee 一起工作——即 Adaptee 本身及其所有子类。
...我会说这不是模式的关键点,如果是,那么反射可以实现它。该模式没有指定适配器必须如何组成它的被适配者。这只是一个实现细节(依赖倒置原则会对这个细节有更多的说法)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句