C# 工厂模式 完整demo
时间: 2024-04-04 21:28:24 浏览: 69
C#工厂模式是一种创建对象的设计模式,它通过定义一个公共的接口来创建对象,而不是直接使用new关键字实例化对象。这种方式可以提供更大的灵活性和可扩展性。
下面是一个完整的C#工厂模式的示例代码:
```csharp
// 定义产品接口
public interface IProduct
{
void Operation();
}
// 具体产品类A
public class ConcreteProductA : IProduct
{
public void Operation()
{
Console.WriteLine("执行具体产品A的操作");
}
}
// 具体产品类B
public class ConcreteProductB : IProduct
{
public void Operation()
{
Console.WriteLine("执行具体产品B的操作");
}
}
// 工厂类
public class Factory
{
public IProduct CreateProduct(string type)
{
switch (type)
{
case "A":
return new ConcreteProductA();
case "B":
return new ConcreteProductB();
default:
throw new ArgumentException("无效的产品类型");
}
}
}
// 客户端代码
public class Client
{
public void Main()
{
Factory factory = new Factory();
// 创建具体产品A
IProduct productA = factory.CreateProduct("A");
productA.Operation();
// 创建具体产品B
IProduct productB = factory.CreateProduct("B");
productB.Operation();
}
}
```
在上面的示例中,我们首先定义了一个产品接口`IProduct`,然后实现了两个具体的产品类`ConcreteProductA`和`ConcreteProductB`,它们都实现了`IProduct`接口的`Operation`方法。
接下来,我们定义了一个工厂类`Factory`,它有一个`CreateProduct`方法,根据传入的产品类型参数,使用switch语句创建相应的具体产品对象。
最后,在客户端代码中,我们实例化了一个工厂对象,并使用工厂对象创建了具体的产品对象,并调用其操作方法。
阅读全文