我在代码中看到了很多这种设计模式。对您来说看起来合理吗?
interface A {
void doSmth();
}
interface B extends A {
}
class C implements A {
A a;
public C(A a) {
this.a = a;
}
@Override
public void doSmth() {
}
}
class D implements B {
A a;
public D() {
a = new C(this);
}
@Override
public void doSmth() {
a.doSmth();
}
}
最佳答案
这似乎是一种“构成”或“战略”模式。使用IoC,您可以通过实际负责做某事的类。
在不知道软件的目的和要求的情况下,给您一个答案并不容易,但是无论如何,依靠这种模式是一个很好的设计。