可以使用以下代碼實現C#中的工廠模式:
首先,定義一個接口作為產品的抽象:
public interface IProduct
{void Operation();
}
然后,創建具體的產品類:
public class ConcreteProductA : IProduct
{public void Operation(){Console.WriteLine("操作具體產品A");}
}public class ConcreteProductB : IProduct
{public void Operation(){Console.WriteLine("操作具體產品B");}
}
接下來,創建一個工廠類來生產產品:
public class Factory
{public IProduct CreateProduct(string productType){if (productType == "A"){return new ConcreteProductA();}else if (productType == "B"){return new ConcreteProductB();}else{throw new ArgumentException("無效的產品類型");}}
}
最后,使用工廠類來創建產品:
Factory factory = new Factory();IProduct productA = factory.CreateProduct("A");
productA.Operation();IProduct productB = factory.CreateProduct("B");
productB.Operation();
使用工廠模式可以將產品的創建和使用分離開來,使得客戶端代碼只需要和工廠類交互,而不需要直接依賴具體的產品類。這樣可以提高代碼的可擴展性和靈活性。