DesignPattern-Factory Method

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Design_Patterns
{
    //食品产品父类 接口
    public interface FoodProduct
    {
        //.......
    }
    //A食品
    public class FoodProductA : FoodProduct
    {
        //.......
    }
    //B食品
    public class FoodProductB : FoodProduct
    {
        //.......
    }
    //C食品
    public class FoodProductC : FoodProduct
    {
        //.......
    }
    //食品生产工厂 抽象类 工厂方法模式是简单工厂的衍生 (单系列产品种类是不定的,是变化的,不依赖)实现“开闭原则”,实现了可扩展。
    public abstract class Market
    {
        public FoodProduct GetFood()
        {
            return CreateFood();
        }

        public abstract FoodProduct CreateFood();
    }
    //生成食品A
    public class MarketA : Market
    {
        public override FoodProduct CreateFood()
        {
            //.......
            return new FoodProductA();
        }
    }
    //生成食品B
    public class MarketB : Market
    {
        public override FoodProduct CreateFood()
        {
            //.....
            return new FoodProductB();
        }
    }
    //生成食品C
    public class MarketC : Market
    {
        public override FoodProduct CreateFood()
        {
            //.....
            return new FoodProductC();
        }
    }
    //调用
    public class Test
    {
        Market ma = new MarketA();
        public Test()
        {
            ma.GetFood();
        }
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值