简单工厂模式

究竟什么是简单工厂模式。今天看了这些代码,我们就可以很形象的理解什么是简单工厂模式了

首先让我们用图来表示一下什么是简单工厂

 

上图即为简单工厂设计模式的流程

下面我们用代码更深入的理解简单工厂设计模式如何实现

1.首先添加一个披萨父类

namespace 简单工厂设计模式
{
   public abstract class Pizza
    {
       public abstract string Taste();
    }
}

2.添加各种口味的子类披萨

namespace 简单工厂设计模式
{
    public class Ham:Pizza 
    {
        public override string Taste()
        {
            return "火腿口味的披萨";
        }
    }
}
namespace 简单工厂设计模式
{
    public class Bacon:Pizza 
    {

        public override string Taste()
        {
            return "培根口味的披萨";
        }
    }
}

3.添加披萨工厂类

namespace 简单工厂设计模式
{
    public  class PizzaFactory
    {
        public static Pizza GetInstance(string type)
        {
            Pizza pizza = null;
            switch (type)
            {
                case"火腿披萨":
                    pizza = new Ham();
                    break;
                case "培根披萨":
                    pizza = new Bacon();
                    break;
            }
            return pizza;
        }
    }
}

4.我们先看客户端的界面

然后看点击订购按钮时所作的事情

 private void btnOk_Click(object sender, EventArgs e)
        {
            //先判断用户选中的是哪种口味的披萨
            Pizza pizza =null;
            if (rdoHuoTui.Checked == true)
            {
                pizza = PizzaFactory.GetInstance(rdoHuoTui.Text); 
            }
            else
            {
                pizza = PizzaFactory.GetInstance(rdoPG.Text);
            }
            string word = pizza.Taste();
            MessageBox.Show(word+",订制成功,准备出炉,请稍后!!");
        }

好了  简单工厂设计模式 到此讲解完毕,不知道您是否对简单工厂设计模式有所认识呢

你可能感兴趣的:(简单工厂模式)