1.介紹
抽象工廠模式(Abstract Factory Pattern)隸屬於設計模式中的創建型模式,用於產品族的構建。抽象工廠是所有形態的工廠模式中最為抽象和最具一般性的一種形態。
抽象工廠是指當有多個抽象角色時使用的一種工廠模式。抽象工廠模式可以向客戶端提供一個接口,使客戶端在不必指定產品的具體情況下,創建多個產品族中的產品對象。
2.示例
public class Human : IRace { public void ShowKing() { Console.WriteLine("The king of Human is Sky"); } }
public class NE : IRace { public void ShowKing() { Console.WriteLine("The king of NE is Moon"); } }
public class Orc : IRace { public void ShowKing() { Console.WriteLine("The king of Orc is Grubby"); } }
public class Undead : IRace { public void ShowKing() { Console.WriteLine("The king of Undead is Gostop"); } }
public abstract class BaseFactory { public abstract IRace CreateFirst(); public abstract IRace CreateSecond(); public abstract IRace CreateThird(); public abstract IRace CreateFourth(); }
public class FrozenThroneFactory : BaseFactory { #region //public Human CreateHuman() //{ // return new Human(); //} //public NE CreateNE() //{ // return new NE(); //} //public Orc CreateOrc() //{ // return new Orc(); //} //public Undead CreateUndead() //{ // return new Undead(); //} #endregion public override IRace CreateFirst() { return new Human(); } public override IRace CreateSecond() { return new NE(); } public override IRace CreateThird() { return new Orc(); } public override IRace CreateFourth() { return new Undead(); } }