DesignPattern-Factory Method

来源:互联网 发布:c 编程主要应用 编辑:程序博客网 时间:2024/06/03 21:39
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();
        }
    }

}


原创粉丝点击