C# 设计模式之 工厂模式

把创建对象的事情  封装起来

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace DesignPytternDemo{    ///     /// 简单工厂    ///     public interface IFood    {         int Price { get; }    }    public class Orange : IFood    {        public Orange()        {            Console.WriteLine("orange created");        }        public int Price        {            get            {                return 1;            }        }    }    public class Rice : IFood    {        public Rice()        {            Console.WriteLine("rice created");        }        public int Price        {            get            {                return 3;            }        }    }    public static class FoodFactory    {        public static IFood CreateFood(string foodType)        {            IFood f = null;            switch (foodType)            {                case "o":                    f = new Orange();                    break;                case "r":                    f = new Rice();                    break;                default:                    break;            }            return f;        }    }    ///     /// 抽象工厂    ///     public interface IActionGame    {    }    public class Kof : IActionGame    {        public Kof()        {            Console.WriteLine("Kof created");        }    }    public class War3 : IActionGame    {        public War3()        {            Console.WriteLine("War3 created");        }    }    public class Cs : IActionGame    {        public Cs()        {            Console.WriteLine("Cs created");        }    }    public interface IRPG    {    }    public class menghuan : IRPG    {        public menghuan()        {            Console.WriteLine("menghuan created");        }    }    public class Legend : IRPG    {        public Legend()        {            Console.WriteLine("Legend created");        }    }    public class Diablo : IRPG    {        public Diablo()        {            Console.WriteLine("Diablo created");        }    }    public abstract class GameFactory    {        public abstract IActionGame CreateActionGame();        public abstract IRPG CreateRpgGame();    }    public class MyGameFactory : GameFactory    {        public override IActionGame CreateActionGame()        {            return new Kof();        }        public override IRPG CreateRpgGame()        {            return new Legend();        }    }}

登录后复制

 以上就是C# 设计模式之 工厂模式的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2495649.html

(0)
上一篇 2025年3月5日 02:22:25
下一篇 2025年2月23日 06:18:00

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论