一般用到的场景:对象多次被实例引用,切有可能会发生变化
拿我们的简单三层举例子
先定义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