首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工厂方法模式

工厂方法模式
EN

Stack Overflow用户
提问于 2011-02-10 14:43:23
回答 2查看 1.1K关注 0票数 3

工厂方法到底是什么?如何用动态链接库实现?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-10 14:52:56

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

有关更多详细信息,请参阅:http://en.wikipedia.org/wiki/Factory_method_pattern

票数 4
EN

Stack Overflow用户

发布于 2011-02-10 14:50:25

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

工厂模式就是这样:“定义一个用于创建对象的接口,但让子类决定实例化的类。工厂方法让类将实例化推迟到子类”。因此:“工厂方法让类将实例化推迟到子类”。

查看适用于One typical use of the Factory Pattern in a Component Object Model (COM) application的内容

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4954148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档