**虚拟工厂模式**
-
一句话:提供创建 一系列相关或者相互依赖对象的接口,而无需关心具体的类。
-
解释:接口是用来创建“一系列”相互依赖对象。例如“车”这个对象,“车”有很多种,例如大众、比亚迪等等。虽然车的种类繁多,但是他们的组成基本固定,车由车轮、车窗等等组成。所以我们可以定义一个接口来创建车,每种类型的车的创建工作都来实现这个接口。
//抽象工厂
public class Car
{
public abstract Wheel CreateWheel()
{
}
public abstract Window CreateWindow()
{
}
}
public class Wheel
{
public Wheel()
{}
}
public class Window
{
public Window()
{
}
}
//大众车
public class DZCar :Car
{
public override DZWheel CreateWheel()
{
return new DZWheel();
}
public override DZWindow CreateWindow()
{
return new DZWindow();
}
}
public class DZWheel :Wheel
{
public DZWheel()
:base()
{
}
}
public class DZWindow :Window
{
public DZWindow()
:base()
{
}
}
//比亚迪车
public class BYDCar :Car
{
public override BYDWheel CreateWheel()
{
return new BYDWheel();
}
public override BYDWindow CreateWindow()
{
return new BYDWindow();
}
}
public class BYDWheel :Wheel
{
public BYDWheel()
:base()
{
}
}
public class BYDWindow :Window
{
public BYDWindow()
:base()
{
}
}