示例
相比于简单工厂模式,工厂方法模式的优点是没有了if else或switch case条件判断,它为每个鼠标厂商都建立了工厂,比如:HP鼠标工厂和DELL鼠标工厂,调用者通过调用不同的鼠标工厂产生不同的鼠标实例,带来的缺点是如果DELL和HP还可以生产键盘等设备,则需要建立很多的工厂,维护困难
实现
//HP鼠标工厂
class HPMouseFactory
{
public Mouse CreateMouse()
{
return new HPMouse();
}
}
//DELL鼠标工厂
class DELLMouseFactory
{
public Mouse CreateMouse()
{
return new DellMouse();
}
}
//工厂方法模式
new HPMouseFactory().CreateMouse().DoubleClick();
new DELLMouseFactory().CreateMouse().DoubleClick();
输出