C# 设计模式之 工厂模式
2012-02-29 16:04
267 查看
把创建对象的事情 封装起来
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DesignPytternDemo { /// <summary> /// 简单工厂 /// </summary> 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; } } /// <summary> /// 抽象工厂 /// </summary> 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#设计模式之简单工厂篇
- C#设计模式之简单工厂模式
- C#设计模式之工厂方法
- C#设计模式---简单工厂
- C#设计模式之工厂模式(Factory)--01 简单工厂(Simple Factory)
- C#设计模式(二)简单工厂模式
- 扩展无极限:工厂设计模式与C#扩展方法的结合使用
- C#之三十八 简单工厂设计模式
- C#设计模式之简单工厂篇(转载)
- C#设计模式之工厂模式(Factory)--02 工厂方法模式(Factory Method)
- 201802121524->深入浅出设计模式:c#简单工厂模式
- 浅谈C#设计模式之工厂模式
- C#之三十八 简单工厂设计模式
- C#设计模式之简单工厂篇
- C#设计模式之工厂模式(Factory)--03 抽象工厂模式(Abstract Factory)
- c#设计模式-工厂模式
- C# 设计模式之简单工厂模式
- C#之三十八 简单工厂设计模式
- C#简单工厂设计模式
- C#设计模式之工厂模式(Factory)--04 抽象工厂模式中访问具体产品类的属性