2011-02-10 67 views

回答

4

用工厂的基本思想是,函数返回从已知基类派生的堆分配对象。因此,在你的情况下,你可能会在你的主应用程序中有一些代码调用dll中的工厂,找回未知动态类型和实现的对象,但你会知道它满足特定基类的API要求。然后通过该接口使用该对象,并通过其大概的虚拟析构函数将其删除。取决于实际派生类的选择方式,工厂方法有多种类型,但通常它会检查函数的一些输入,IO流或XML结构等,并计算出适当的类型。工厂是否在dll中对这里的整体模型没有什么影响,但它确实可以更容易地更新派生对象的列表和实现,而无需重新编译应用程序。

欲了解更多详情,请参阅:http://en.wikipedia.org/wiki/Factory_method_pattern

3

工厂方法是一种创建模式。这种模式有助于为创建一个对象建立一个接口的模型,在创建时它可以让它的子类决定实例化哪个类。我们称之为工厂模式,因为它负责“制造”一个对象。它有助于通过从一组相关类创建正确的对象来实例化适当的子类。 Factory Pattern通过消除将特定于应用程序的类绑定到代码中的需求来促进松耦合。

工厂模式是所有关于“定义的界面,用于创建一个对象,但让子类决定实例哪个类工厂方法使一个类的实例化延迟到子类。”因此:“工厂方法让一个类将实例化延迟到子类“。

查看此为One typical use of the Factory Pattern in a Component Object Model (COM) application