从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是工厂生产的产品。