示例#1
0
 static void PrintPc(PersonalComputer pc)
 {
     Console.WriteLine("PC configuration: ");
     Console.WriteLine("Box: {0}", pc.Box.Color);
     Console.WriteLine("Mainboard: {0} {1}MHz", pc.Mainboard.Producer, pc.Mainboard.BusFrequency);
     if (pc.Mainboard.VideoCard != null)
     {
         Console.WriteLine("Integrated VideoCard: {0} {1}Mb", pc.Mainboard.VideoCard.Producer,
                           pc.Mainboard.VideoCard.MemoryVolume);
     }
     Console.WriteLine("Processor: {0} {1}GHz {2} core", pc.Processor.Producer, pc.Processor.Frequency, pc.Processor.CoreCount);
     Console.WriteLine("Memories: ");
     foreach (Memory m in pc.Memories)
     {
         Console.WriteLine("{0} {1}Gb", m.Type, m.Volume);
     }
     Console.WriteLine("Hdds: ");
     foreach (Hdd h in pc.Hdds)
     {
         Console.WriteLine("{0} {1} {2}Gb", h.Producer, h.Type, h.Volume);
     }
     if (pc.VideoCard != null)
     {
         Console.WriteLine("VideoCard: {0} {1}Mb", pc.VideoCard.Producer, pc.VideoCard.MemoryVolume);
     }
 }
        public object Clone()
        {
            /*
             * Создание поверхностной копии объекта
             */
            PersonalComputer newPc = (PersonalComputer)this.MemberwiseClone();

            /*
             * Клонироване объектов апаратных составляющих
             */
            newPc.Box       = this.Box != null ? (Box)this.Box.Clone() : null;
            newPc.Mainboard = this.Mainboard != null ? (Mainboard)this.Mainboard.Clone() : null;
            newPc.Processor = this.Processor != null ? (Processor)this.Processor.Clone() : null;
            newPc.memories  = new List <Memory>();
            foreach (Memory m in this.memories)
            {
                if (m != null)
                {
                    newPc.memories.Add((Memory)m.Clone());
                }
            }
            newPc.hdds = new List <Hdd>();
            foreach (Hdd h in this.hdds)
            {
                if (h != null)
                {
                    newPc.hdds.Add((Hdd)h.Clone());
                }
            }
            newPc.VideoCard = this.VideoCard != null ? (VideoCard)this.VideoCard.Clone() : null;
            return(newPc);
        }
示例#3
0
 static void PrintPc(PersonalComputer pc)
 {
     Console.WriteLine("PC configuration: ");
     Console.WriteLine("Box: {0}", pc.Box.Color);
     Console.WriteLine("Mainboard: {0} {1}MHz", pc.Mainboard.Producer, pc.Mainboard.BusFrequency);
     if (pc.Mainboard.VideoCard != null)
     {
         Console.WriteLine("Integrated VideoCard: {0} {1}Mb", pc.Mainboard.VideoCard.Producer,
                           pc.Mainboard.VideoCard.MemoryVolume);
     }
     Console.WriteLine("Processor: {0} {1}GHz {2} core", pc.Processor.Producer, pc.Processor.Frequency, pc.Processor.CoreCount);
     Console.WriteLine("Memories: ");
     foreach (Memory m in pc.Memories)
     {
         Console.WriteLine("{0} {1}Gb", m.Type, m.Volume);
     }
     Console.WriteLine("Hdds: ");
     foreach (Hdd h in pc.Hdds)
     {
         Console.WriteLine("{0} {1} {2}Gb", h.Producer, h.Type, h.Volume);
     }
     if (pc.VideoCard != null)
     {
         Console.WriteLine("VideoCard: {0} {1}Mb", pc.VideoCard.Producer, pc.VideoCard.MemoryVolume);
     }
 }
示例#4
0
        private PersonalComputer CreateHomeConfig()
        {
            PersonalComputer config = new PersonalComputer();

            config.Box = new Box()
            {
                Producer = "",
                Color    = "Silver"
            };
            config.Mainboard = new Mainboard()
            {
                Producer     = "ATI",
                BusFrequency = 800,
                VideoCard    = null
            };
            config.Processor = new Processor()
            {
                Producer  = "Intell",
                CoreCount = 2,
                Frequency = 3
            };
            config.Hdds.Add(new Hdd()
            {
                Producer = "Samsung",
                Type     = "SATA",
                Volume   = 500
            });
            config.Memories.Add(new Memory()
            {
                Producer = "",
                Type     = "DDR2",
                Volume   = 2
            });
            config.VideoCard = new VideoCard()
            {
                Producer     = "ATI",
                MemoryVolume = 1024
            };

            return(config);
        }
示例#5
0
        private PersonalComputer CreateOfficeConfig()
        {
            PersonalComputer config = new PersonalComputer();

            config.Box = new Box()
            {
                Producer = "",
                Color    = "White"
            };
            config.Mainboard = new Mainboard()
            {
                Producer     = "Albatron",
                BusFrequency = 800,
                VideoCard    = new VideoCard()
                {
                    Producer     = "nVidia",
                    MemoryVolume = 1024
                }
            };
            config.Processor = new Processor()
            {
                Producer  = "AMD",
                CoreCount = 1,
                Frequency = 1.8
            };
            config.Hdds.Add(new Hdd()
            {
                Producer = "LG",
                Type     = "SATA",
                Volume   = 160
            });
            config.Memories.Add(new Memory()
            {
                Producer = "",
                Type     = "DDR2",
                Volume   = 1
            });
            config.VideoCard = null;

            return(config);
        }
示例#6
0
        private PersonalComputer CreateGamerConfig()
        {
            PersonalComputer config = new PersonalComputer();

            config.Box = new Box()
            {
                Producer = "",
                Color    = "Black"
            };
            config.Mainboard = new Mainboard()
            {
                Producer     = "Asus",
                BusFrequency = 800,
                VideoCard    = null
            };
            config.Processor = new Processor()
            {
                Producer  = "Intell",
                CoreCount = 4,
                Frequency = 4
            };
            config.Hdds.Add(new Hdd()
            {
                Producer = "WD",
                Type     = "SATA2",
                Volume   = 1024
            });
            config.Memories.Add(new Memory()
            {
                Producer = "",
                Type     = "DDR2",
                Volume   = 4
            });
            config.VideoCard = new VideoCard()
            {
                Producer     = "nVidia",
                MemoryVolume = 1024
            };

            return(config);
        }
示例#7
0
        static void Main(string[] args)
        {
            // Ввести имя прототипа конфигурации
            Console.Write("Enter config prototype name: ");
            string prototypeName = Console.ReadLine();
            // Получение прототипа конфигурации из палитры по его имени
            PersonalComputer prototype =
                PcPrototypes.Instance[prototypeName];

            if (prototype != null)
            {
                // Создание конфигурации на основе выбранного прототипа
                PersonalComputer pc = (PersonalComputer)prototype.Clone();
                // Вывод состава конфигурации на консоль
                PrintPc(pc);
            }
            else
            {
                Console.WriteLine("Error: incorrect config name");
            }
        }
示例#8
0
        private PersonalComputer CreateHomeConfig()
        {
            PersonalComputer config = new PersonalComputer();
            config.Box = new Box()
            {
                Producer = "",
                Color = "Silver"
            };
            config.Mainboard = new Mainboard()
            {
                Producer = "ATI",
                BusFrequency = 800,
                VideoCard = null
            };
            config.Processor = new Processor()
            {
                Producer = "Intell",
                CoreCount = 2,
                Frequency = 3
            };
            config.Hdds.Add(new Hdd()
            {
                Producer = "Samsung",
                Type = "SATA",
                Volume = 500
            });
            config.Memories.Add(new Memory()
            {
                Producer = "",
                Type = "DDR2",
                Volume = 2
            });
            config.VideoCard = new VideoCard()
            {
                Producer = "ATI",
                MemoryVolume = 1024
            };

            return config;
        }
示例#9
0
        private PersonalComputer CreateOfficeConfig()
        {
            PersonalComputer config = new PersonalComputer();
            config.Box = new Box()
            {
                Producer = "",
                Color = "White"
            };
            config.Mainboard = new Mainboard()
            {
                Producer = "Albatron",
                BusFrequency = 800,
                VideoCard = new VideoCard()
                                {
                                    Producer = "nVidia",
                                    MemoryVolume = 1024
                                }
            };
            config.Processor = new Processor()
            {
                Producer = "AMD",
                CoreCount = 1,
                Frequency = 1.8
            };
            config.Hdds.Add(new Hdd()
            {
                Producer = "LG",
                Type = "SATA",
                Volume = 160
            });
            config.Memories.Add(new Memory()
            {
                Producer = "",
                Type = "DDR2",
                Volume = 1
            });
            config.VideoCard = null;

            return config;
        }
示例#10
0
        private PersonalComputer CreateGamerConfig()
        {
            PersonalComputer config = new PersonalComputer();
            config.Box = new Box()
            {
                Producer = "",
                Color = "Black"
            };
            config.Mainboard = new Mainboard()
            {
                Producer = "Asus",
                BusFrequency = 800,
                VideoCard = null

            };
            config.Processor = new Processor()
            {
                Producer = "Intell",
                CoreCount = 4,
                Frequency = 4
            };
            config.Hdds.Add(new Hdd()
            {
                Producer = "WD",
                Type = "SATA2",
                Volume = 1024
            });
            config.Memories.Add(new Memory()
            {
                Producer = "",
                Type = "DDR2",
                Volume = 4
            });
            config.VideoCard = new VideoCard()
            {
                Producer = "nVidia",
                MemoryVolume = 1024
            };

            return config;
        }