简单工厂模式
创建一个工厂类,对实现了同一个接口的多个类进行实例的创建。
//抽象类 人 public abstract class HuMan { public abstract void Talk(); } //黑人实现类 public class BlackHuman : HuMan { public override void Talk() { Console.WriteLine("I am BlackHuman"); } } //白人实现类 public class WhiteHuman : HuMan { public override void Talk() { Console.WriteLine("I am WhiteHuman"); } } /// <summary> /// 简单工厂 /// </summary> public static class HumanFactory { public static HuMan CreateHuman(HumanEnum humanEnum) { HuMan huMan = null; switch (humanEnum) { case HumanEnum.Black: huMan = new BlackHuman(); break; case HumanEnum.White: huMan = new WhiteHuman(); break; default: throw new NullReferenceException(); } return huMan; } } //客户端调用 //创建一个白人 var whiteHuman1 = SimpleFactory.CreateHuman(HumanEnum.White); whiteHuman1.Talk(); //创建一个黑人 var blackHuman1 = SimpleFactory.CreateHuman(HumanEnum.Black); blackHuman1.Talk();