1. 程式人生 > >來說說(SimpleFactory)簡單工廠模式

來說說(SimpleFactory)簡單工廠模式

1。何為簡單工廠模式?就是把建立的過程封裝起來,客戶只關心需要什麼樣的產品,不關心整個產品建立的過程。我們來實現一個簡單的工廠模式。我們就拿客戶點餐為例,客戶想要什麼食品,他不關心食品是怎麼做的,食品的做法直接交給工廠即可。我們來建立一個食品的基類。並且建立2種食品。

using System;
using UnityEngine;

public abstract class Food
{
	public abstract void print();
}

public class TomatoScrambledEggs : Food
{
	public override void print()
	{
		Debug("我是:TomatoScrambledEggs");
	}
}

public class ShreddedPorkWithPotatoes : Food
{
	public override void print()
	{
		Debug("我是:ShreddedPorkWithPotatoes");
	}
}
2.我們在來建立一個工廠,用於建立這兩種食品
using System;


/// <summary>
/// 簡單工廠模式
/// </summary>
public class FoodSimpleFactory
{
	static public Food createFood(string foodName)
	{
		Food food;
		if(foodName.Equals("TomatoScrambledEggs"))
		{
			food = new TomatoScrambledEggs ();
		}
		else if(foodName.Equals("ShreddedPorkWithPotatoes"))
		{
			food = new ShreddedPorkWithPotatoes ();
		}
		return food;
	}
}
3.我們來測試,建立一個客戶類
using System;

public  class Customer
{
	public Customer ()
	{
		Food food1 = FoodSimpleFactory.createFood ("TomatoScrambledEggs");
		food1.print ();

		Food food2 = FoodSimpleFactory.createFood ("ShreddedPorkWithPotatoes");
		food1.print ();
	}
}
好了,我們的簡單工廠模式基本實現了,他有他的優點,可以把建立的過程封裝起來,顧客不需要知道整個加工的過程,缺點是沒次增加新的食品,活著食品做法有變動時,他需要手動更改工廠類。