IFactoryMethod.cs 793 B

1234567891011121314151617181920212223242526272829
  1. namespace FactoryPattern
  2. {
  3. /// <summary>
  4. /// 工厂方法模式:
  5. /// 工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。
  6. /// 在同一等级结构中,支持增加任意产品。
  7. /// 符合【开放封闭原则】,但随着产品类的增加,对应的工厂也会随之增多
  8. /// </summary>
  9. public interface IFactoryMethod
  10. {
  11. AbstractCar Create();
  12. }
  13. public class ConcreateFactoryA:IFactoryMethod
  14. {
  15. public AbstractCar Create()
  16. {
  17. return new ConcreateCarA();
  18. }
  19. }
  20. public class ConcreateFactoryB : IFactoryMethod
  21. {
  22. public AbstractCar Create()
  23. {
  24. return new ConcreateCarB();
  25. }
  26. }
  27. }