工廠模式是一種常見的設計模式,它用於建立物件的方式。在工廠模式中,我們定義一個介面或者抽象類來建立物件,而將實際的物件建立延遲到子類中。這樣可以以統一的方式建立物件,同時也可以方便地擴充套件和修改物件的建立過程。
下面是一個簡單的示例程式碼,演示了工廠模式的實現:
using System; // 定義產品介面 interface IProduct { void Show(); } // 具體產品類A class ConcreteProductA : IProduct { public void Show() { Console.WriteLine("This is product A"); } } // 具體產品類B class ConcreteProductB : IProduct { public void Show() { Console.WriteLine("This is product B"); } } // 工廠介面 interface IFactory { IProduct CreateProduct(); } // 具體工廠類A class ConcreteFactoryA : IFactory { public IProduct CreateProduct() { return new ConcreteProductA(); } } // 具體工廠類B class ConcreteFactoryB : IFactory { public IProduct CreateProduct() { return new ConcreteProductB(); } } class Program { static void Main() { // 使用工廠A建立產品A IFactory factoryA = new ConcreteFactoryA(); IProduct productA = factoryA.CreateProduct(); productA.Show(); // 使用工廠B建立產品B IFactory factoryB = new ConcreteFactoryB(); IProduct productB = factoryB.CreateProduct(); productB.Show(); } }
在上面的程式碼中,我們定義了一個產品介面 IProduct
和兩個具體的產品類 ConcreteProductA
和 ConcreteProductB
。同時,我們定義了一個工廠介面 IFactory
和兩個具體的工廠類 ConcreteFactoryA
和 ConcreteFactoryB
。每個具體工廠類負責建立對應的產品類例項。
在 Main()
方法中,我們使用工廠類來建立具體的產品例項,並呼叫其方法展示產品的資訊。
這個例子展示瞭如何使用工廠模式來建立物件,使得客戶端程式碼和具體物件的建立邏輯解耦,同時方便地擴充套件和切換不同的建立邏輯。