在IDbConnection中定义了产生IdbCommand对象的工厂方法CreateCommand,具体的Command对象由具体的Connection对象创建。它与具体的相关,不同创建不同类型的Command对象。
IdbConnection定义了CreateCommand的接口:
IdbConnectio CreateCommad( );
具体的Connection类中定义了对应的实现,例如针对Oracle:
public OracleCommand CreateCommand( );
2.概述
2.1意图
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到子类,这个接口所指的是一个抽象方法。该方法说明需要创建一个对象,但并不给出具体的创建方法和创建什么类型的对象。
C#的代码如下:
实现IEnumerable接口的类,如ArrayList等集合类实现了GetEnumerator函数,即实现了工厂方法的具体实现。根据不同的类,获得不同的Ienumerator。例如,ArrayList中的GetEnumerator返回的IEnumerator是ArrayListEnumeratorSimple,Sting中的GetEnumerator 返回的Ienumerator是 CharEnumerator:
}
在这里,工厂方法起到了连接类层次的作用。
以上就是关于工厂方法模式的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shenmilingyu/article-15756-1.html
我进它跑