一般用到的场景:对象多次被实例引用,切有可能会发生变化
拿我们的简单三层举例子
先定义dal层
1
2
3
4
5
6
7
8
|
class
Dal
{
public
void
Delete()
{
//...
}
}
|
工厂类
1
2
3
4
5
6
7
8
9
10
|
class
Factory
{
//这样掉的好处是 当dal层发生变化的时候不需要去每个调用的地方修改对应的实例,只需要在工厂里面修改对应的实例就行。
//例如Dal的名字换成DAL 这个时候只需要改动工厂里面对应的实例名称即可。
public
static
Dal CreateInstance()
{
return
new
Dal();
}
}
|
在BLL层中实例化Dal层对象
1
2
3
4
|
class
Bll
{
Dal dal = Factory.CreateInstance();
}
|
这样的好处是当dal层名称发生变化时,只需要改动一处即可,调用者无需关系调用的对象!
优点:可以提高程序的扩展性,减少修改量!
当然简单工厂有的时候并不能很好的满足我们的需求,后续还会讲到抽象工厂。
设计模式系列文章入口:http://www.diyibk.com/post/39.html