简单工厂模式和工厂模式的实现例子
2012-08-06 17:48
393 查看
using System; using System.Collections.Generic; using System.Text; namespace 工厂方法_雷锋工厂 { class Program { static void Main(string[] args) { // //基本方式:薛磊风代表大学生学习雷锋 LeiFeng xueleifeng = new Undergraduate(); xueleifeng.BuyRice(); xueleifeng.Sweep(); xueleifeng.Wash(); LeiFeng student1 = new Undergraduate(); student1.BuyRice(); LeiFeng student2 = new Undergraduate(); student2.Sweep(); LeiFeng student3 = new Undergraduate(); student3.Wash(); //简单工厂模式 LeiFeng studentA = SimpleFactory.CreateLeiFeng("学雷锋的大学生"); studentA.BuyRice(); LeiFeng studentB = SimpleFactory.CreateLeiFeng("学雷锋的大学生"); studentB.Sweep(); LeiFeng studentC = SimpleFactory.CreateLeiFeng("学雷锋的大学生"); studentC.Wash(); //工厂方法模式 IFactory factory = new UndergraduateFactory(); LeiFeng student = factory.CreateLeiFeng();//通过接口函数创建对象 student.BuyRice(); student.Sweep(); student.Wash(); Console.Read(); } } //雷锋 class LeiFeng { public void Sweep() { Console.WriteLine("扫地"); } public void Wash() { Console.WriteLine("洗衣"); } public void BuyRice() { Console.WriteLine("买米"); } } //学雷锋的大学生 class Undergraduate : LeiFeng { } //社区志愿者 class Volunteer : LeiFeng { } //简单雷锋工厂 class SimpleFactory { public static LeiFeng CreateLeiFeng(string type) { LeiFeng result = null; switch (type) { case "学雷锋的大学生": result = new Undergraduate(); break; case "社区志愿者": result = new Volunteer(); break; } return result; } } //雷锋工厂 interface IFactory { LeiFeng CreateLeiFeng(); } //学雷锋的大学生工厂 class UndergraduateFactory : IFactory { public LeiFeng CreateLeiFeng() { return new Undergraduate(); } } //社区志愿者工厂 class VolunteerFactory : IFactory { public LeiFeng CreateLeiFeng() { return new Volunteer(); } } }
相关文章推荐
- 工厂模式实现方式、使用场景(包括基于反射的简单工厂模式)
- 工厂模式例子(用面向对象的方法实现简单的计算器)
- 设计模式之简单工厂C++实现
- 简单工厂模式小例子 写的测试过了
- 学习笔记:体会简单工厂模式的美妙之计算器的实现
- 设计模式(2)结合代码和例子来理解简单工厂模式
- vb.net 中通过反射实现简单工厂模式
- Java设计模式之-----工厂模式(简单工厂,抽象工厂)
- Java实现简单的工厂模式
- [设计模式] - No.1 详解简单工厂模式、工厂模式和抽象工厂模式
- 设计模式 -- 简单工厂模式 -- c++实现
- JAVA设计模式是个什么玩意儿_00_工厂模式家族准备篇_简单工厂模式
- 设计模式-工厂模式(简单工厂,工厂方法,抽象工厂)
- 8_14 日学到的新知识(简单的工厂模式的实现, MVC 模式的基本概念,软件工程中的四种开发模型, 以及软件工程中的一些小知识点)
- 简单工厂~工厂模式--Java实现
- C++设计模式之一 工厂模式(简单工厂、工厂和抽象工厂)
- 策略模式与简单工厂的C++实现
- 面试时用到的简单的工厂模式的例子
- java实现简单工厂模式