一风子

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

多例模式也比较简单就是扩展多个单例不同类项组成一个组织,来调用

下面是示例:

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();
    }
}

 

posted on 2020-06-01 23:45  一风子  阅读(173)  评论(0)    收藏  举报