1 什么是抽象工厂模式
抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需制定他们的具体类。结构图如下:
分析一下抽象工厂模式,1提供一系列相互依赖对象的创建工作 2 封装对象常规的创建方法 3 提供统一调用数据访问的方式 4 避免调用数据访问方法和具体创建工作。针对上图进行详细分析:
AbstractProductA 和AbstractProductB是两个抽象产品,之所以抽象,是因为他们都有可能有两种不同的实现,而ProductA1,ProductA2 和ProductB1 ,ProductB2就是对两个抽象产品的具体分类的实现,比如在访问数据时,ProductA1可以比作为SqlServer 访问某张表,ProductB1 则可为Access访问该表。
AbstractFactory 是一个抽象工厂类或者一个抽象工厂接口,它里面应该包含所有的产品的抽象方法。而ConcreteFactory1和ConcreteFactory2 就是具体工厂,就像SqlserverFactory 和AccessFactory一样。
通常在运行到的时候创建一个ConcreteFactory类的实例,这个具体共创再创建具有特定实现的产品对象,也就是说,为创建不同的产品对象,,客户端应使用不同的具体工厂。
2 抽象工厂的职责
通过上述的详细分析,可以的出抽象工厂模式中的各个对象的主要功能,职责
1. 用抽象工厂生产抽象产品
2.用实体工厂生产实体产品
3 .用抽象产品提供实体产品访问接口
4.用实体产品实现自己的功能
3抽象工厂模式实现三层架构之数据访问层
1 搭建项目,如图
2 项目的依赖关系,根据依赖关系,添加引用(如果连引用都不会添加