我在代码中看到了很多这种设计模式。对您来说看起来合理吗?

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,您可以通过实际负责做某事的类。

在不知道软件的目的和要求的情况下,给您一个答案并不容易,但是无论如何,依靠这种模式是一个很好的设计。

07-27 15:15