首页 > 学院 > 开发设计 > 正文

设计模式系列(二)-抽象工厂

2019-11-17 02:21:55
字体:
来源:转载
供稿:网友

设计模式系列(二)-抽象工厂

【注】本文还有待修改,现在只提供源码 和 简单分析,后续会做详细说明

1.为什么要使用抽象工厂,一个案例告诉你,对照下面这张图,来看案例

image

问题:

1.UI展示有时候,需要调用业务A,有时候要调用业务B 2.而业务A,可能使用了MSSQL数据库,也有可能使用了Oracle数据库 3.不管MSSQL数据层,还是Oracle数据层,他们用到的实体都是一样,且数据库需要的方法也类似

分析并解决

1.首先,我们肯定需要一个数据层,那么这个数据层由谁来创建,由谁来调用 【数据层由数据工厂创建 并 赋值给数据层接口,然后由具体的业务层调用】 2.而不同数据库,会对应不同的工厂,那我们要使用哪个工厂 【通过数据工厂父类,再根据配置文件,可以得到我们需要的数据层对象】 3.然后,我们就需要一个业务层,那么这个业务层由谁来创建,由谁来调用 【业务层由业务工厂创建 并 赋值 给业务层接口,然后由表示层调用】 4.而不同业务,会对应不同的工厂,那我们要使用哪个工厂 【通过业务工厂父类,再根据配置文件,可以得到我们需要的业务层对象】 5.有了业务层,那么怎么调用呢 【在表示层,通过业务工厂父类,创建业务工厂对象】 【再由业务工厂对象,创建业务层对象】 【最后由业务层对象,调用我们需要的方法 】 6.得出结论 【各层都只调用接口,具体实现由工厂来实现】

2.按照以上 分析,我们就开始写代码,大家可以按照上面分析,以及对照代码,理解一下,不懂的话,欢迎交流

3.源码地址

源码下载
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表