设计模式--工厂模式大集合
时间:2020-06-20 11:10:28
收藏:0
阅读:67
public enum CarEnum { BMWCar, MercedesCar, HondaCar, } public abstract class Car { public abstract Car CreateCar(); } public class BMW : Car { public override Car CreateCar() { Console.WriteLine("哦天哪,宝马车造好了"); return new BMW(); } } public class Mercedes : Car { public override Car CreateCar() { Console.WriteLine("太好了,奔驰车造好了"); return new Mercedes(); } } public class Honda : Car { public override Car CreateCar() { Console.WriteLine("棒极了,本田车造好了"); return new Honda(); } }
1.简单工厂
if..else..
switch..case...
/// <summary> /// 简单工厂模式,通过接收不同的参数,来创建不同的实例 /// 缺点:不修改原有代码吗,无法扩展(如果增加新的产品,需要加入switch分支) /// 不符【开放封闭原则】 /// </summary> public static class SimpleFactory { public static Car CreateCar(CarEnum carName) { Car car = null; switch (carName) { case CarEnum.BMWCar: car = new BMW(); break; case CarEnum.MercedesCar: car = new Mercedes(); break; case CarEnum.HondaCar: car = new Honda(); break; default: break; } return car; } }
原文:https://www.cnblogs.com/pltlfy/p/13167916.html
评论(0)