有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单Acer,Lenovo,Dell,该OEM商发现,如果一次同时做很多个牌子的本本,有些不利于管理。利用工厂模式改善设计,用C#控制台应用程序实现该OEM制造商的工厂模式。绘制该模式的UML图。
public abstract class Laptop
{
public abstract void show();
}
public class HPLaptop:Laptop
{
public override void show()
{
Console.WriteLine("惠普笔记本");
}
}
public class AcerLaptop : Laptop
{
public override void show()
{
Console.WriteLine("Acer");
}
}
public class LenovoLaptop : Laptop
{
public override void show()
{
Console.WriteLine("Lenovo");
}
}
public class DellLaptop : Laptop
{
public override void show()
{
Console.WriteLine("Dell");
}
}
interface IFactory
{
Laptop CreateLaptop();
}
class HPFactory : IFactory
{
public Laptop CreateLaptop()
{
return new HPLaptop();
}
}
class AcerFactory : IFactory
{
public Laptop CreateLaptop()
{
return new AcerLaptop();
}
}
class LenovoFactory : IFactory
{
public Laptop CreateLaptop()
{
return new LenovoLaptop();
}
}
class DellFactory : IFactory
{
public Laptop CreateLaptop()
{
return new DellLaptop();
}
}
class Program
{
static void Main(string[] args)
{
IFactory lf = new HPFactory();
Laptop tp = lf.CreateLaptop();
tp.show();
lf = new AcerFactory();
tp = lf.CreateLaptop();
tp.show();
lf = new LenovoFactory();
tp = lf.CreateLaptop();
tp.show();
lf = new DellFactory();
tp = lf.CreateLaptop();
tp.show();
}
}