多例模式也比较简单就是扩展多个单例不同类项组成一个组织,来调用
下面是示例:
public class MultipleCasePattern { private Dictionary<string,Vehicle> Vehicles; public void Main() { Vehicles = new Dictionary<string, Vehicle>(); Truck.Instance = new Truck(); Aircraft.Instance = new Aircraft(); Vehicles[typeof(Truck).Name] = Truck.Instance; Vehicles[typeof(Aircraft).Name] = Aircraft.Instance; Vehicles["Truck"].Drive(); Vehicles["Truck"].Stop(); Vehicles["Aircraft"].Drive(); Vehicles["Aircraft"].Stop(); } } public abstract class Vehicle { public abstract void Drive(); public abstract void Stop(); } public class Truck : Vehicle { private static Truck _Instance; public static Truck Instance { get => _Instance; set => _Instance = value; } public override void Drive() { Console.WriteLine("开着这辆卡车!"); } public override void Stop() { Console.WriteLine("把这辆卡车停下来吧!"); } } public class Aircraft : Vehicle { private static Aircraft _Instance; public static Aircraft Instance { get => _Instance; set => _Instance = value; } public override void Drive() { Console.WriteLine("开着这架飞机!"); } public override void Stop() { Console.WriteLine("把这辆飞机停这里吧!"); } }
下面是调用部分:
class Program { static void Main(string[] args) { MultipleCasePattern multiple = new MultipleCasePattern(); multiple.Main(); } }
浙公网安备 33010602011771号