public Computer CreateLaptop(int cpuType, int coreCount, int ramSize, int hardCount, int hardCapacity) { IRAM ram = new RAM(ramSize); ICPU cpu; switch (cpuType) { case 32: cpu = new CPU32(ram, coreCount); break; case 64: cpu = new CPU64(ram, coreCount); break; case 128: cpu = new CPU128(ram, coreCount); break; default: break; } IVideoCard videoCard = new ColorfulVideoCard(); IMotherboard motherBoard = new MotherBoard(); RAID hardDriveRaid = new RAID(); IBattery battery = new LaptopBattery(); for (int i = 0; i < hardCount; i++) { HardDrive currentHardDrive = new HardDrive(hardCapacity, true); hardDriveRaid.AddHardDrive(currentHardDrive); } Computer laptop = new Laptop(cpu, ram, videoCard, hardDriveRaid, motherBoard, battery); return laptop; }
protected Computer(ICPU cpu, IRAM ram, IVideoCard videoCard, RAID hardDriveRaid, IMotherboard motherBoard) { this.cpu = cpu; this.ram = ram; this.videoCard = videoCard; this.hardDriveRaid = hardDriveRaid; this.motherBoard = motherBoard; }
public PC(ICPU cpu, IRAM ram, IVideoCard videoCard, RAID hardDriveRaid, IMotherboard motherBoard) : base(cpu, ram, videoCard, hardDriveRaid, motherBoard) { }
public Laptop(ICPU cpu, IRAM ram, IVideoCard videoCard, RAID hardDriveRaid, IMotherboard motherBoard, IBattery battery) : base(cpu, ram, videoCard, hardDriveRaid, motherBoard) { this.battery = battery; }
public Server(ICPU cpu, IRAM ram, MonochromeVideoCard videoCard, RAID hardDriveRaid, MonochromeVideoCard motherBoard) : base(cpu, ram, videoCard, hardDriveRaid, motherBoard) { }