本文共 2470 字,大约阅读时间需要 8 分钟。
设计模式之二:工厂方法模式 http://www.taidous.com/thread-47813-1-1.html(出处: 【泰斗社区】-专注互联网游戏和应用的开发者平台)
////// 菜抽象类 /// public abstract class Food { // 输出点了什么菜 public abstract void Print(); } ////// 西红柿炒鸡蛋这道菜 /// public class TomatoScrambledEggs : Food { public override void Print() { Console.WriteLine("西红柿炒蛋好了!"); } } ////// 土豆肉丝这道菜 /// public class ShreddedPorkWithPotatoes : Food { public override void Print() { Console.WriteLine("土豆肉丝好了"); } } ////// 抽象工厂类 /// public abstract class Creator { // 工厂方法 public abstract Food CreateFoddFactory(); } ////// 西红柿炒蛋工厂类 /// public class TomatoScrambledEggsFactory:Creator { ////// 负责创建西红柿炒蛋这道菜 /// ///public override Food CreateFoddFactory() { return new TomatoScrambledEggs(); } } /// /// 土豆肉丝工厂类 /// public class ShreddedPorkWithPotatoesFactory:Creator { ////// 负责创建土豆肉丝这道菜 /// ///public override Food CreateFoddFactory() { return new ShreddedPorkWithPotatoes(); } } /// /// 客户端调用 /// class Client { static void Main(string[] args) { // 初始化做菜的两个工厂() Creator shreddedPorkWithPotatoesFactory = new ShreddedPorkWithPotatoesFactory(); Creator tomatoScrambledEggsFactory = new TomatoScrambledEggsFactory(); // 开始做西红柿炒蛋 Food tomatoScrambleEggs = tomatoScrambledEggsFactory.CreateFoddFactory(); tomatoScrambleEggs.Print(); //开始做土豆肉丝 Food shreddedPorkWithPotatoes = shreddedPorkWithPotatoesFactory.CreateFoddFactory(); shreddedPorkWithPotatoes.Print(); Console.Read(); } }
转载地址:http://bljti.baihongyu.com/