设计模式-创建型-简单工厂模式

创建型模式中工厂模式有三兄弟,先从简单工厂讲起。工厂模式中包含了产品与工厂两个对象,其中产品是是一个个具体的对象,而工厂负责生产这些产品。例如现在我们的需求是有两个食品要在食品厂加工。两个食品分别叫做面包和巧克力,要在食品厂加工。通过需求分析出应该有如下几个类,面包类、巧克力类、食品加工厂类。由于面包和巧克力是属于食品,那么必然会生出一个食品类。加工厂我们暂时就不再去做区分。。。OK,简单分析上代码。

    /// <summary>
    /// 食品类
    /// </summary>
    public abstract class Food
    {
        /// <summary>
        /// 用于显示食品类型
        /// </summary>
        public abstract void Show();
    }


    /// <summary>
    /// 巧克力类
    /// </summary>
    public class QiaoKeLi : Food
    {
        public override void Show()
        {
            Console.Write("巧克力");
        }
    }


    /// <summary>
    /// 面包类
    /// </summary>
    public class Bread : Food
    {
        public override void Show()
        {
            Console.Write("面包");
        }
    }


    /// <summary>
    /// 食品加工厂
    /// </summary>
    public class FoodFactroy
    {
        public Food Make(int foodindex)//实例化本就是创建的意思。
        {
            switch (foodindex)
            {
                case 0:
                    return new QiaoKeLi();
                case 1:
                    return new Bread();
                default:
                    return null;
            }
        }

    }


客户端调用

FoodFactroy factroy = new FoodFactroy();
Food food= factroy.Make(0);//此处通过传入参数,达到依赖倒转法则。想吃面包传入1即可
food.Show();


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值