简单工厂模式:说是一种工厂模式,其实只是大家的一种编程习惯而已,他的核心思想就是把创建对象的工作放在工厂类中,任何需要 产品的地方只需要做一个工厂对象,然后用工厂对象来做产品。 代码如下://调用 using System; using System.Collections.Generic; using System.Text;namespace SampleFacoryTest { class Program { static void Main(string[] args) { PizzaStore ps = new PizzaStore(new SamplePizzaFactory()); Pizza pizza = ps.samplePF.createPizza("english"); Console.WriteLine(pizza.pizzaName); pizza = ps.samplePF.createPizza("chinesize"); Console.WriteLine(pizza.pizzaName); pizza = ps.samplePF.createPizza("iceland"); Console.WriteLine(pizza.pizzaName); Console.ReadKey(); } } }using System; using System.Collections.Generic; using System.Text; namespace SampleFacoryTest { class PizzaStore { public SamplePizzaFactory samplePF; public PizzaStore(SamplePizzaFactory samplePF) { this.samplePF = samplePF; } } }//具体的工厂类 using System; using System.Collections.Generic; using System.Text;namespace SampleFacoryTest { class SamplePizzaFactory { public Pizza createPizza(string type) { Pizza pizza; switch (type) { case "chinesize": pizza = new ChinesizePizza(); break; case "english": pizza = new EnglishPizza(); break; case "iceland": pizza = new IceLandPizza(); break; default: pizza = null; break; } return pizza; } } } //构造具体的产品 using System; using System.Collections.Generic; using System.Text;namespace SampleFacoryTest { public abstract class Pizza { public string pizzaName; } public class ChinesizePizza:Pizza { public ChinesizePizza() { pizzaName = "中国pizza"; } } public class EnglishPizza : Pizza { public EnglishPizza() { pizzaName = "英国pizza"; } } public class IceLandPizza : Pizza { public IceLandPizza() { pizzaName = "冰岛pizza"; } }}
http://terrylee.cnblogs.com/archive/2006/01/04/310716.html
我帮你找到24条关于设计模式的技术资料
http://www.soAsp.net/PageResult.aspx?keyWord=%C9%E8%BC%C6%C4%A3%CA%BD
产品的地方只需要做一个工厂对象,然后用工厂对象来做产品。
代码如下://调用
using System;
using System.Collections.Generic;
using System.Text;namespace SampleFacoryTest
{
class Program
{
static void Main(string[] args)
{
PizzaStore ps = new PizzaStore(new SamplePizzaFactory()); Pizza pizza = ps.samplePF.createPizza("english");
Console.WriteLine(pizza.pizzaName); pizza = ps.samplePF.createPizza("chinesize");
Console.WriteLine(pizza.pizzaName); pizza = ps.samplePF.createPizza("iceland");
Console.WriteLine(pizza.pizzaName); Console.ReadKey();
}
}
}using System;
using System.Collections.Generic;
using System.Text;
namespace SampleFacoryTest
{
class PizzaStore
{
public SamplePizzaFactory samplePF;
public PizzaStore(SamplePizzaFactory samplePF)
{
this.samplePF = samplePF;
}
}
}//具体的工厂类
using System;
using System.Collections.Generic;
using System.Text;namespace SampleFacoryTest
{
class SamplePizzaFactory
{
public Pizza createPizza(string type)
{
Pizza pizza;
switch (type)
{
case "chinesize":
pizza = new ChinesizePizza();
break;
case "english":
pizza = new EnglishPizza();
break;
case "iceland":
pizza = new IceLandPizza();
break;
default:
pizza = null;
break;
}
return pizza;
}
}
}
//构造具体的产品
using System;
using System.Collections.Generic;
using System.Text;namespace SampleFacoryTest
{
public abstract class Pizza
{
public string pizzaName;
} public class ChinesizePizza:Pizza
{
public ChinesizePizza()
{
pizzaName = "中国pizza";
}
} public class EnglishPizza : Pizza
{
public EnglishPizza()
{
pizzaName = "英国pizza";
}
} public class IceLandPizza : Pizza
{
public IceLandPizza()
{
pizzaName = "冰岛pizza";
}
}}