设计模式之简单工厂_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 设计模式之简单工厂

设计模式之简单工厂

 2014/11/19 12:08:58  闪闪的幸运星  程序员俱乐部  我要评论(0)
  • 摘要:一、定义简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。二、类图三、示例///<summary>///披萨商店///</summary>publicclassPizzaStore{publicPizzaStore(){}publicPizzaOrderPizza(stringtype){Pizzapizza;pizza=SimplePizzaFactory.CreatePizza(type);pizza.Prepare();pizza.Bake();pizza
  • 标签:模式 设计 设计模式

一、定义
简单工厂其实不是一个设计模式,反而比较像是一种编程习惯

二、类图

三、示例

/// <summary>
/// 披萨商店
/// </summary>
public class PizzaStore
{
public PizzaStore()
{

}
public Pizza OrderPizza(string type)
{
Pizza pizza;

pizza = SimplePizzaFactory.CreatePizza(type);

pizza.Prepare();
pizza.Bake();
pizza.Cut();
pizza.Box();

return pizza;
}
}


/// <summary>
/// 披萨工厂
/// </summary>
public static class SimplePizzaFactory
{
public static Pizza CreatePizza(string type)
{
Pizza pizza = null;

if (type.Equals("cheese"))
{
pizza = new CheesePizza();
}
else if (type.Equals("pepperoni"))
{
pizza = new PepperoniPizza();
}

return pizza;
}
}

/// <summary>
/// 抽象披萨
/// </summary>
public abstract class Pizza
{
public abstract void Prepare();

public abstract void Bake();

public abstract void Cut();

public abstract void Box();
}


/// <summary>
/// 芝士披萨
/// </summary>
public class CheesePizza:Pizza
{
public override void Prepare()
{
Console.WriteLine("准备芝士披萨");
}

public override void Bake()
{
Console.WriteLine("烘培芝士披萨");
}

public override void Cut()
{
Console.WriteLine("切芝士披萨");
}

public override void Box()
{
Console.WriteLine("打包芝士披萨");
}
}

/// <summary>
/// 意大利香肠披萨
/// </summary>
public class PepperoniPizza:Pizza
{
public override void Prepare()
{
Console.WriteLine("准备意大利香肠披萨");
}

public override void Bake()
{
Console.WriteLine("烘培意大利香肠披萨");
}

public override void Cut()
{
Console.WriteLine("切意大利香肠披萨");
}

public override void Box()
{
Console.WriteLine("打包意大利香肠披萨");
}
}

static void Main(string[] args)
{
PizzaStore pizzaStore = new PizzaStore();
Pizza pizza = pizzaStore.OrderPizza("cheese");

Console.ReadLine();
}

 

源码下载

 

转载请注明来自:闪闪的幸运星

原文地址:http://www.cnblogs.com/dongyang

如若转载,请保留原文地址。谢谢合作。

发表评论
用户名: 匿名