从FLC中学习的设计模式系列-创建型模式(2)-抽象工厂

抽象工厂模式 Abstract Factory 为一个产品家族提供了统一的创建接口。

 

抽象工厂模式

来自:http://zh.wikipedia.org/wiki/%E6%8A%BD%E8%B1%A1%E5%B7%A5%E5%8E%82

抽象工厂模式(英语:Abstract Factory)是一种常见的设计模式

此模式为一个产品家族提供了统一的创建接口。

当需要这个产品家族的某一系列的时候,可以从抽象工厂中选出相对系的系列来创建一个具体的工厂类别。

 

FLC中的抽象工厂模式

在FLC中比较典型的就是DbConnection .CreateDbCommand方法

抽象类DbConnection表示到数据库的连接。

派生类有OdbcConnection表示Odbc连接,OracleConnection表示Oracle数据库连接,SqlConnection表示SqlServer数据库连接。

通过抽象方法CreateDbCommand,分别在派生类中实现了创建各自数据库类型的DbCommand的派生类OdbcCommand、

OracleCommand、SqlCommand,返回他们的父类DbCommand。

在使用DbConnection 对象的CreateDbCommand时,不需要关心是由那种数据库连接实现的。

 

类图大致如下:

因为DbConnection 本身作为了抽象工厂类,DbCommand是工厂生产的产品。

 

posted @ 2012-02-15 20:11  kiminozo  阅读(306)  评论(0编辑  收藏  举报