1

好吧,我正在创建一个库,该库需要采用所有其他库并使它们“相似”地工作。

例如:假设我有 5 个库,所有这些库都有相同的想法,工作于相同的案例,但它们有自己的工作方式,自己的 API,而我需要的是让它们使用单​​个API。

我的想法是在工厂内部创建一个带有“信任列表”的“工厂”,允许用户选择不同的库来创建,“工厂”在“信任列表”上查看,如果库真的存在,它创建并返回库。

但它也可以使用接口来实现,我只能接受实现指定接口的类,我将拥有我想要的方法实现的安全性,那么这是什么意思?所有的库都需要实现该接口,实现方法并对库进行封装,这样它们就可以使用相同的 API。用户可以使用工厂创建一个库,并对它们使用相同的 API。

我不知道您是否理解我要解释的内容,但我想知道,根据我所说的,在我的情况下,“桥”或“适配器”模式最好的是什么?

而且,我的想法是正确的还是我疯了?(接口和工厂的东西,还有桥接器和适配器,告诉我你的想法)。

谢谢大家。

4

2 回答 2

0

桥接模式旨在将类的接口与其实现分开,因此您可以在不更改客户端代码的情况下更改或替换实现。

我认为您可以指定公共非虚拟接口,然后在每个公共函数中使用模板方法调用实现方法。

class Basic {
public:
      // Stable, nonvirtual interface.
      void A { doA();}
      void B { doB();}
      //...
private:
      // Customization is an implementation detail that may
      // or may not directly correspond to the interface.
      // Each of these functions might optionally be
      // pure virtual
      virtual void doA { impl_ -> doA();}
      virtual void doB { impl_ -> doB();}
};

这些讲座可能有用:

桥梁模式

模板法

于 2014-02-12T16:03:44.397 回答
0

听起来像我的适配器。您有多个适配器实现,这是基本的多态性,每个适配器都知道如何适应特定的库。

我看不出桥模式在这里有什么意义。您通常会在使用这些库的地方使用它,但您还不知道具体的库实现。

于 2014-02-12T15:27:27.270 回答