其他分享
首页 > 其他分享> > 简单工厂

简单工厂

作者:互联网

简单工厂模式

简单工厂不属于23种设计模式之一

概念

简单工厂其实就是一个创建对象的方法,上端只需要传递一个需要创建对象的类型,通过简单工厂就能得到相应的对象实例。

核心代码


 public class SimpleFactory
    {
        public static IProduct CreateProduct(string type)
        {
            IProduct product = null;
            switch (type)
            {
                case "1":
                    product = new Product1();
                    break;
                case "2":
                    product = new Product2();
                    break;
                case "3":
                    product = new Product3();
                    break;
            }
            return product;
        }
    }
    /// <summary>
    /// 接口  这里可以使用抽象类代替
    /// </summary>
    public interface IProduct
    {
        void Show();
    }

    public class Product1 : IProduct
    {
        public void Show()
        {
            Console.WriteLine("Product1 - Show");
        }
    }

    public class Product2 : IProduct
    {
        public void Show()
        {
            Console.WriteLine("Product2 - Show");
        }
    }

    public class Product3 : IProduct
    {
        public void Show()
        {
            Console.WriteLine("Product3 - Show");
        }
    }

优缺点

优点

上端不需要自己去创建实例,只需要传递一个对象类型(如果构造函数有参数需要传递参数)

缺点

简单工厂创建对象的方法不稳定,如果新增一个对象类型,需要重新修改方法。违背了开闭原则。

举例

上端需要根据一个标识创建对象,后续对该对象进行操作。如果标识为A,创建A对象;标识为B,创建B对象;标识为C,创建C对象。这个时候可以使用简单工厂。

标签:product,Show,void,创建对象,工厂,简单,public,IProduct
来源: https://www.cnblogs.com/Huangxiaomao/p/14799446.html