抽象工厂模式比工厂模式具有更高层次的抽象性。当要返回一系列相关类的某一个,而每个类都能根据需要返回不同的对象时,可以使用这种模式。换句话说,抽象工厂是一个工厂对象,他能返回一系列相关类中的某一个类。也就是可以用简单工厂去决定返回哪一个类。
工厂模式的工厂,实例化的对象只有一个,如果实例化的对象是多个,就成了抽象工厂模式,其实工厂模式和抽象工厂也就这点区别
示意图
示例代码
public abstract class Button
{
public abstract void DisplayButton();
}
public class WindowsButton : Button
{
public override void DisplayButton()
{
Console.WriteLine("我的类型是:{0}",this.GetType().ToString());
}
}
public class LinuxButton : Button
{
public override void DisplayButton()
{
Console.WriteLine("我的类型是:{0}", this.GetType().ToString());
}
}
public abstract class TextBox
{
public abstract void DisplayTextBox();
}
public class WindowsTextBox : TextBox
{