赞
踩
在C#中实现工厂设计模式,可以创建一个工厂类,它根据传入的参数决定创建哪个具体类的实例。以下是一个简单的示例:
- // 抽象产品类
- public abstract class Car
- {
- public abstract void Drive();
- }
-
- // 具体产品类
- public class BmwCar : Car
- {
- public override void Drive()
- {
- Console.WriteLine("Driving BMW.");
- }
- }
-
- public class AudiCar : Car
- {
- public override void Drive()
- {
- Console.WriteLine("Driving Audi.");
- }
- }
-
- // 工厂类
- public static class CarFactory
- {
- public static Car CreateCar(string carType)
- {
- switch (carType)
- {
- case "BMW":
- return new BmwCar();
- case "Audi":
- return new AudiCar();
- default:
- throw new ArgumentException("Invalid car type");
- }
- }
- }
-
- // 使用工厂创建产品实例
- public class Program
- {
- public static void Main(string[] args)
- {
- Car bmw = CarFactory.CreateCar("BMW");
- bmw.Drive();
-
- Car audi = CarFactory.CreateCar("Audi");
- audi.Drive();
- }
- }
在这个例子中,CarFactory
是一个工厂类,它根据传入的 carType
字符串来创建相应的 Car
类型的实例。这样,客户端代码只需要调用工厂方法,而不需要自己直接实例化产品类。这提供了一种灵活性,可以在不修改客户端代码的情况下引入新的产品类型。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。