示例#1
0
        public static void Main()
        {
            var manufacturerName = Console.ReadLine();
            var manufacturer     = ComputerManufacturerFactory.GetComputerManufacturer(manufacturerName);
            var pc     = manufacturer.MakePC();
            var laptop = manufacturer.MakeLaptop();
            var server = manufacturer.MakeServer();

            while (true)
            {
                var inputLIne = Console.ReadLine();
                if (inputLIne == null || inputLIne.StartsWith("Exit"))
                {
                    break;
                }

                var commandParameters = inputLIne.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                if (commandParameters.Length != 2)
                {
                    throw new ArgumentException("Invalid command!");
                }

                var commandName      = commandParameters[0];
                var commandArguments = int.Parse(commandParameters[1]);

                if (commandName == ChargeCommandName)
                {
                    laptop.ChargeBattery(commandArguments);
                }
                else if (commandName == ProcessCommandName)
                {
                    server.Process(commandArguments);
                }
                else if (commandName == PLayCommandName)
                {
                    pc.Play(commandArguments);
                }
                else
                {
                    Console.WriteLine("Invalid command!");
                }
            }
        }
示例#2
0
        private static void CreateComputers()
        {
            var manufacturerName = Console.ReadLine();
            IComputerManufacturer manufacturer;

            try
            {
                manufacturer = ComputerManufacturerFactory.GetManufacturer(manufacturerName);

                pc     = manufacturer.CreatePersonalComputer();
                laptop = manufacturer.CreateLaptop();
                server = manufacturer.CreateServer();
            }
            catch (InvalidArgumentException e)
            {
                Console.WriteLine(e.Message);
                CreateComputers();
            }
        }