java - 过多的授权设计

标签 java design-patterns delegates

我在我们的代码中看到了很多这种设计模式。您觉得合理吗?

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,您可以传递实际负责执行某些操作的类。

在不知道你的软件的用途和你的要求的情况下,很难给你答案,但无论如何,依赖这样的模式是一个很好的设计。

关于java - 过多的授权设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19926074/

相关文章:

java - 无法使用 XOM 解析元素属性

java - 有没有办法通过 SAX 解析器来使用访问者模式?

php - 正确处理代码点火器中存储在类中的错误

c# - 编译器歧义调用错误-具有Func <>或Action的匿名方法和方法组

delphi - 为什么不能在 64 位 Delphi 中获取嵌套局部函数的地址?

java - 在java中使用ListIterator作为LinkedList时遇到问题

java - 现实世界中的设计模式

scala - 在 Scala 中使用 Cake 模式和函数之间的区别 - 为什么 Cake 模式有用?

objective-c - NSTokenField 不允许我输入除 tokenField :completionsForSubstring:. 之外的其他字符串 .. 返回

java - 如何将 FLUSHDB ASYNC 与 RedisTemplate 结合使用?