書接上回。
上文書說到農民甲和農民乙有着各自不同的想法,一個種花生豆,一個種毛豆,而且都獲得了大豐收。
接着說說工廠方法模式。
---------------------------------------------------------------------------------------------------------------------------
先送上圖例。
農民乙是個聰慧的人,他更有想法,他主動與多拉多種子公司(IFactory),建立了良好的戰略合作伙伴關係。
該種子公司實力雄厚,擁有花生分公司(PignutFactory)和毛豆分公司(SoybeanFactory)。
好像物質上的富足也能帶來精神上的愉悅吧,農民乙開始不滿足於面朝黃土背朝天的小打小鬧的個人生產,他心裏盤算着要擴大生產,於是他成立了自己的小作坊,租賃了大塊的土地,根據季節時令買入一些花生種和毛豆種,僱傭一些閒散工爲他種豆。
豬年快到了,農民乙請種子公司的專家來他的土地田做實地考察,專家得出結論,豬年種花生豆比較好。
於是農民乙給多拉多種子公司打電話聯繫,該公司從花生分公司爲農民乙引進了大量的花生種,種花生取得了好豐收。
轉眼間,鼠年也快到了,農民乙故伎重施,該年聯繫毛豆分公司種毛豆,也毅然決然的毫無懸念的取得了好豐收。
農民乙請閃電把他的豐功偉績記錄下來,表示爲……
public abstract class Legume
{
public virtual string GetFruit()
{
return string.Empty;
}
}
class Pignut : Legume
{
public override string GetFruit()
{
return "俺是農民乙,俺要擴大生產,多拉多種子公司你今年給我花生種子,我看今年這個成!";
}
}
class Soybean : Legume
{
public override string GetFruit()
{
return "俺是農民乙,俺要擴大生產,多拉多種子公司你今年給我毛豆種子,我看今年這個成!";
}
}
interface IFactory
{
Legume CreateLegume();
}
class PignutFactory : IFactory
{
public Legume CreateLegume()
{
return new Pignut();
}
}
class SoybeanFactory : IFactory
{
public Legume CreateLegume()
{
return new Soybean();
}
}
static void Main(string