用Bridge模式中的抽象类替换接口

时间:2016-04-20 12:16:48

标签: java design-patterns bridge

查看Bridge模式的this explanation,它表示抽象和实现者是接口。但是我没有看到他们不能成为抽象类的原因。

示例:想象一下,来自AbstractionImp的所有构造函数将始终接收1个参数,实现者,以及构造函数所做的唯一事情,就是将该参数存储在AbstractionImp字段中。像这样:

public AbstractionImp(Implementor implementor) {
   this.implementor  = implementor;
}

那么为什么不在其他AbstractImp类上重复这个alll,为什么不改用它呢?注意:在这种情况下,AbstractionImp扩展Abstraction,这是一个抽象类。

public AbstractionImp(Implementor implementor) {
   super(implementor);
}

public Abstraction(Implementor implementor) {
   this.implementor = implementor;
}

如果我用抽象类替换接口,我是否违反了Bridge模式?像这样做,可以避免许多样板代码。

0 个答案:

没有答案