在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 类型的实例。如许,客户端代码只必要调用工厂方法,而不必要本身直接实例化产品类。这提供了一种灵活性,可以在不修改客户端代码的情况下引入新的产品类型。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |