예제 #1
0
        public IGame CreateGame(GameTypes gameType)
        {
            switch (gameType)
            {
            case GameTypes.Playstation:
                lock (lockObject)
                {
                    if (playstation == null)
                    {
                        playstation = new Playstation();
                    }

                    return(playstation);
                }

            case GameTypes.Xbox:
                lock (lockObject)
                {
                    if (xbox == null)
                    {
                        xbox = new Xbox();
                    }

                    return(xbox);
                }

            default:
                return(null);
            }
        }
예제 #2
0
        static void Main()
        {
            GameConsole gameConsole1 = new Xbox
            {
                Model = "Model 1"
            };

            GameConsole gameConsole2 = new Playstation
            {
                Model = "Model 1"
            };

            IGameConsoleBuyVisitor amazonBuyVisitor     = new AmazonBuyVisitor();
            IGameConsoleBuyVisitor aliexpressBuyVisitor = new AliExpressBuyVisitor();

            gameConsole1.Accept(amazonBuyVisitor);
            gameConsole2.Accept(aliexpressBuyVisitor);

            Console.Read();
        }
예제 #3
0
 public void BuyVisit(Playstation playstation)
 {
     Console.WriteLine($"{playstation} konsolu Aliexpress'den satın alındı.");
 }
예제 #4
0
 public void BuyVisit(Playstation playstation)
 {
     Console.WriteLine($"{playstation} konsolu Amazon'dan satın alındı.");
 }