简单工厂模式
简单工厂模式(静态工厂模式)
特点:一个工厂返回一种类型的实例
优缺点:
1、工厂类内部逻辑负责创建相应的对象,体现了职责单一
2、工厂类负责的逻辑,如果出了问题将致使系统瘫痪
3、系统扩展困难
示例代码:
namespace OOAD_Factory
{
public abstract class Book
{
private double price;
public double Price { get { return price; } set { price = value; } }
public static Book CreateBook(string Key)
{
if (Key == "科技")
{
return new KJ();
}
else { return new GS(); }
}
}
public class KJ : Book
{
public KJ() { this.Price = 1000.0; }
}
public class GS : Book
{
public GS()
{
this.Price = 10.2;
}
}
}
public Form1()
{
InitializeComponent();
IFood bd = Factory.CreateFood("包子");
label2.Text = bd.Price.ToString();
Book b = Book.CreateBook("科技");
label2.Text = b.Price.ToString();
}