最近在看设计模式方面的书籍,把看过的一些知识点整理一下:
简单工厂模式根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个公共的父类和公共的方法。
比如:
类A 类A-a:A 类A-b:A
{ { {
一个方法Fun(); 重写A类的方法Fun(); 重写A类的方法Fun();
} } }
使用的时候就只能根据需要来创建A-a类或A-b类;
也可以再写个方法,通过一个参数来标志是创建A-a类还是A-b类,些方法返回的类型为类A,
如:
类A 方法名(string a)
{
如果a为创建类A-a:就返回一个类A-a的实例
如果a为创建类A-b:就返回一个类A-b的实例
}
然后使用的时候就可以用这个方法,传个参数给他就行了。
优点是可以明确要创建哪一个类的实例。
缺点是不易于扩展。