【发布时间】:2011-08-26 14:01:35
【问题描述】:
各位专家,
我正在阅读工厂模式
我们定义接口,接口由类实现。根据某些属性,我们决定实例化哪个类
我们定义抽象类并在子类中实现它。
列出的两个例子完全不同。基于我记得的基本面。
- 我们何时使用接口 - 何时需要实现多态行为
- 我们什么时候使用抽象类 - 提供默认的基本功能
帮助我了解如何将使用交互和使用抽象类称为工厂模式?
这两种方法有效吗?
对格式问题表示歉意。
提前致谢
【问题讨论】:
-
在我看来,使用接口还是抽象类是一个实现细节,与 工厂模式 本身没有直接关系。它所做的只是指定另一个类(工厂)来为您创建对象,而不是您自己调用构造函数。这样,您可以集中任何所需的幕后魔术,例如确定要实例化的具体类型的各种因素,保持对象池以重用对象以防构造函数由于某种原因是重量级的,或者填充复杂的类构造合理的默认值。
标签: .net design-patterns factory