首页 > 其他 > 详细

创建型设计模型 - 抽象工厂

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

抽象方法模式

概念

抽象方法是23种设计模式之一。和工厂方法的区别是,抽象方法关注的是一组对象的创建

核心代码

23种设计模式github代码

 /// <summary>
    /// 抽象工厂
    /// 抽象工厂和工厂方法差不多,只是抽象方法适用于创建一组对象(不同的组里面的对象方法都不相同)
    /// </summary>
    public class AbstractMethod
    {
        
    }

    public abstract class IProductA
    {
        public abstract void Show();
    }

 

    public abstract class IProductB
    {
        public abstract void Show();
    }

    //IOS组-产品A
    public class IosProductA : IProductA
    {
        public override void Show()
        {
            Console.WriteLine("IOS ProductA - Show");
        }
    }

    //IOS组-产品B
    public class IosProductB : IProductB
    {
        public override void Show()
        {
            Console.WriteLine("IOS ProductB - Show");
        }
    }

    //Android组-产品A
    public class AndroidProductA : IProductA
    {
        public override void Show()
        {
            Console.WriteLine("Android ProductA - Show");
        }
    }

    //Android组-产品B
    public class AndroidProductB : IProductB
    {
        public override void Show()
        {
            Console.WriteLine("Android ProductB - Show");
        }
    }

    public abstract class AbstractFactory 
    {
        public abstract IProductA CreatProductA();
        public abstract IProductB CreatProductB();
    }

    public class IOSFactory : AbstractFactory
    {
        public override IProductA CreatProductA()
        {
            return new IosProductA();
        }

        public override IProductB CreatProductB()
        {
            return new IosProductB();
        }
    }

    public class AndroidFactory : AbstractFactory
    {
        public override IProductA CreatProductA()
        {
            return new AndroidProductA();
        }
        public override IProductB CreatProductB()
        {
            return new AndroidProductB();
        }
    }

总结

抽象工厂关注的是一个工厂可以创建一组对象,工厂方法是关注一个工厂创建一个对象。
假如有一个三星和小米两个工厂,都可以生厂手机和电视机(这是两个对象),这里就可以使用抽象工厂。工厂方法适用场景就是一个生产手机的工厂,可以创建各种各样品牌的手机,如苹果、小米、三星等等。

创建型设计模型 - 抽象工厂

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

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