工厂模式是一种常见的设计模式,它用于创建对象的方式。在工厂模式中,我们定义一个接口或者抽象类来创建对象,而将实际的对象创建延迟到子类中。这样可以以统一的方式创建对象,同时也可以方便地扩展和修改对象的创建过程。
下面是一个简单的示例代码,演示了工厂模式的实现:
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()
方法中,我们使用工厂类来创建具体的产品实例,并调用其方法展示产品的信息。
这个例子展示了如何使用工厂模式来创建对象,使得客户端代码和具体对象的创建逻辑解耦,同时方便地扩展和切换不同的创建逻辑。
标签:CreateProduct,Show,模式,工厂,IFactory,class,IProduct From: https://www.cnblogs.com/wuqihe/p/18404577