作者:卟105932097 | 来源:互联网 | 2023-09-18 03:34
把创建对象的事情封装起来usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;
把创建对象的事情 封装起来
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() 来&[email protected]!ma.com搞$代^码%网 { 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# 设计模式之 工厂模式的内容,更多相关内容请关注(www.gaodaima.com)!