示例#1
0
        static void Main(string[] args)
        {
            //Singleton
            Creater player = Creater.getInstance("*****@*****.**");

            Console.WriteLine(player.Email);

            //Abstract Factory
            Chess Whitechesses = new Chess(new WhiteChess(), 2, 8);

            Whitechesses.HorseMove(2);
            Whitechesses.PawnMove(1);


            Chess Blackchesses = new Chess(new BlackChess(), 2, 8);

            Blackchesses.HorseMove(2);
            Blackchesses.PawnMove(4);

            //Builder
            Director     director     = new Director();
            BoardBuilder boardbuilder = new ClassicBoard();
            Board        classicboard = director.Construct(boardbuilder);

            Console.WriteLine(classicboard.ToString());

            boardbuilder = new BorderBoard();
            Board borderboard = director.Construct(boardbuilder);

            Console.WriteLine(borderboard.ToString());

            //Prototype
            IPrototype figure       = new WhitePawn(true);
            IPrototype clonedFigure = figure.Clone();

            figure.GetInfo();
            clonedFigure.GetInfo();

            figure       = new BlackPawn(false);
            clonedFigure = figure.Clone();
            figure.GetInfo();
            clonedFigure.GetInfo();

            Console.WriteLine($"Main {DateTime.Now.TimeOfDay}");
            Console.WriteLine(Singleton.text);

            Singleton singleton1 = Singleton.GetInstance();

            Console.WriteLine(singleton1.Date);

            Console.ReadLine();
        }
示例#2
0
 public static Creater getInstance(string email)
 {
     if (instance == null)
     {
         lock (syncRoot)
         {
             if (instance == null)
             {
                 instance = new Creater(email);
             }
         }
     }
     return(instance);
 }