首页 > 其他 > 详细

简单工厂

时间:2021-05-22 23:22:29      阅读:16      评论:0      收藏:0      [点我收藏+]

简单工厂模式

简单工厂不属于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对象。这个时候可以使用简单工厂。

简单工厂

原文:https://www.cnblogs.com/Huangxiaomao/p/14799446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!