设计模式的桥接模式. 示例代码中两个维度, 其中一个用的接口 另一个用的抽象类, 通过 将接口注入到抽象类中实现的. 为什么不直接用两个接口, 通过 入参来实现桥接呢. 这样看起来更简单.
比如这样:
public interface Color {
//获取颜色
String getColor();
}
public interface Car {
//获取汽车 注入颜色类
void getCar(Color color);
}
设计模式的桥接模式. 示例代码中两个维度, 其中一个用的接口 另一个用的抽象类, 通过 将接口注入到抽象类中实现的. 为什么不直接用两个接口, 通过 入参来实现桥接呢. 这样看起来更简单.
比如这样:
public interface Color {
//获取颜色
String getColor();
}
public interface Car {
//获取汽车 注入颜色类
void getCar(Color color);
}
引自强大而免费的微信小程序:皆我百晓生。
在桥接模式中,用抽象类和接口分别代表两个维度的实现是为了实现灵活性和解耦。
如果直接使用两个接口,在实现类中需要同时实现两个接口的方法,这样会导致实现类与两个接口之间的耦合度很高。而使用桥接模式,抽象出一个接口作为桥梁,将其中一个维度通过接口注入到抽象类中,可以实现两个维度的功能代码分离,降低耦合度。
另外,使用桥接模式可以实现两个维度的独立扩展。如果直接使用两个接口,当其中一个维度需要扩展时,需要修改实现类,而使用桥接模式,只需要新增一个实现类即可。
因此,使用桥接模式可以提高代码的可维护性和可扩展性。虽然看起来会多一些接口和抽象类的定义,但能够带来更好的设计和代码结构。