GoF说的很清楚,桥模式的意图是:[b]将抽象部分与它的实现部分分离,使它们都可以独立地变化。[/b]
说白了就是面向对象程序所倡导的:[b]针对接口编程,和使用聚合,尽量不使用继承这个原则。[/b]
最典型的例子就是JDBC。
JDBC API(Sun)提供抽象部分,各个JDBC驱动厂商(Oracle, Mysql...)提供实现部分。新的JDBC驱动可以“即插即用”在JDBC API中,而不需要修改我们调用者的代码。这就是所谓的抽象部分(JDBC API)与它的实现部分(JDBC Driver)分离。以桥模式为基础,衍生出了现在比较流行的插件模式。
说白了就是面向对象程序所倡导的:[b]针对接口编程,和使用聚合,尽量不使用继承这个原则。[/b]
最典型的例子就是JDBC。
JDBC API(Sun)提供抽象部分,各个JDBC驱动厂商(Oracle, Mysql...)提供实现部分。新的JDBC驱动可以“即插即用”在JDBC API中,而不需要修改我们调用者的代码。这就是所谓的抽象部分(JDBC API)与它的实现部分(JDBC Driver)分离。以桥模式为基础,衍生出了现在比较流行的插件模式。