从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 @   kiminozo  阅读(308)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示