工厂模式与桥模式的异同

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:10:28
是异同啊,不要名词解释

工厂模式:
工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。

桥模式:
将某个问题抽象的不同形式分别与该问题的具体实现部分相分离,使他们都可以独立变化,并能够动态结合。

区别:
工厂模式主要负责创建对象而桥模式主要负责将抽象的不同形式与具体实现部分分离。
你的问题关键是如何理解桥模式,理解了桥模式就能明确他们之间的区别,而要理解桥模式,你应该从宏观而不能从微观的角度去看一个架构的设计,举个桥模式的例子:最典型的例子就是JDBC。JDBC API(Sun)提供抽象部分,各个JDBC驱动厂商(Oracle, Mysql...)提供实现部分。新的JDBC驱动可以“即插即用”在JDBC API中,而不需要修改我们调用者的代码。这就是所谓的抽象部分(JDBC API)与它的实现部分(JDBC Driver)分离。从宏观角度JDBC可以称为桥模式,但是从微观角度,JDBC中又使用了很多其他设计模式,比如工厂模式,策略模式等等。因此评价一个架构究竟使用了什么设计模式,我认为应该先从宏观角度说起,再从微观角度来看。