设计模式(一):工厂方法模式
2015-01-23 16:30
253 查看
class Test { /// <summary> /// 工厂方法模式之所以可以解决简单工厂的模式, /// 是因为它的实现把具体产品的创建推迟到子类中, /// 此时工厂类不再负责所有产品的创建,而只是给出具体工厂必须实现的接口, /// 这样工厂方法模式就可以允许系统不修改工厂类逻辑的情况下来添加新产品, /// 这样也就克服了简单工厂模式中缺点。下面看下工厂模式的具体实现代码( /// 这里还是以简单工厂模式中点菜的例子来实现): /// </summary> static void Main() { //初始化工厂 Creator tomofactory = new TomatoScrambledEggsFactory(); //new出第一种food Food tomo= tomofactory.CreateFoodFactory(); tomo.Print(); Creator hongshaorou = new hongshaorouFactory(); //new出第二种food Food rou= hongshaorou.CreateFoodFactory(); rou.Print(); Console.ReadKey(); } /// <summary> /// 关于菜的抽象类,必须实现print方法 /// </summary> public abstract class Food { public abstract void Print(); } /// <summary> /// 实现的一个Food /// </summary> public class TomatoScrambledEggs:Food { public override void Print() { Console.WriteLine("TomatoScrambledEggs"); } } /// <summary> /// 实现的第二个Food /// </summary> public class ShreddedPorkWithPotatoes : Food { public override void Print() { Console.WriteLine("ShreddedPorkWithPotatoes"); } } /// <summary> /// 实现的第三个Food /// </summary> public class HonShaorou:Food { public override void Print() { Console.WriteLine("hongshaorou"); } } /// <summary> /// 抽象工厂类,必须实现new对象的方法 /// </summary> public abstract class Creator { public abstract Food CreateFoodFactory(); } /// <summary> /// new一种food /// </summary> public class TomatoScrambledEggsFactory:Creator { public override Food CreateFoodFactory() { return new TomatoScrambledEggs(); } } /// <summary> /// new第二种food /// </summary> public class ShreddedPorkWithPotatoesFactory : Creator { public override Food CreateFoodFactory() { return new ShreddedPorkWithPotatoes(); } } /// <summary> /// new第三种food /// </summary> public class hongshaorouFactory : Creator { public override Food CreateFoodFactory() { return new HonShaorou(); } } }
相关文章推荐
- GoF 23个经典的设计模式03--创建模式之工厂方法(未完代续)
- 设计模式--工厂方法
- 设计模式(三)、FACTORY METHOD(工厂方法)---对象创建型模式
- 设计模式学习笔记四:工厂方法(Factory Method)
- 每周一个设计模式之工厂方法与抽象工厂
- 设计模式之Factory1(简单工厂,工厂方法,抽象工厂的比较)
- 设计模式之工厂方法
- 设计模式 之 工厂方法
- C# 设计模式 之 工厂方法
- 设计模式(1)工厂方法 感觉没必要用工厂方法
- 设计模式杂谈:创建型模式之工厂方法(Factory Method)
- 设计模式--创建模式--工厂方法
- 设计模式示例一 Factory Method(工厂方法)
- 设计模式--工厂方法
- JAVA设计模式——工厂方法(Factory Method)模式
- 第二个设计模式:工厂方法
- 设计模式示例一 Factory Method(工厂方法)
- 设计模式 之 工厂方法
- 我把Black_Cat与Walaqi等关于"设计模式"之"工厂方法""抽象工厂"的讨论整理如下,以方
- 设计模式之工厂方法(FACTORY METHOD))(二)