.NET工厂模式

.NET Factory Pattern

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Interface vs Abstract Class (general OO)

专家,

我在读工厂模式

  • 基于文章-http://aspalliance.com/809_working_with_factory_design_pattern_using_c
  • 我们定义接口,接口由类实现。基于某些属性,我们决定实例化哪个类

  • 看了另一篇文章-http://csharpdesignpatterns.codeplex.com/wikipage?title=Factory%20Method%20Pattern&ReferringTitle=Home
  • 我们定义抽象类并在子类中实现它。

    所列的两个示例都非常不同。基于我记得的基本原理。

    • 我们何时使用接口-何时需要实现多态行为
    • 我们什么时候使用抽象类来提供默认的基本功能?

    帮助我理解使用交互和使用抽象类是如何被称为工厂模式的?

    这两种方法有效吗?

    为格式化问题道歉。

    提前谢谢


    由于模式是抽象概念,因此它们并不严格依赖于实现;因此使用接口或抽象类都是IMO的有效方法。

    工厂模式的主要思想是通过抽象来"简化"对象创建。

    是否使用接口或抽象类取决于您的实现。在我的经验中,工厂模式通常是在类结构已经定义时开始发挥作用的。例如,我已经决定在我的模型中使用接口或抽象类,现在我想重构,以便对象创建更简单=>我使用工厂模式。希望这有帮助。