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


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

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

    image

    问题:

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

    分析并解决

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

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

    3.源码地址

    源码下载
    更多精彩内容请看:http://www.cnblogs.com/2star
  • 相关阅读:
    Spring Web Flow 2.0 入门详解
    Hadoop单机部署方法
    hadoop单机版搭建图文详解
    MapReduce算法设计Think in Hadoop
    开发 Spring 自定义视图和视图解析器
    HashMap的实现原理
    MapReduce算法模式
    LinkedHashMap的实现原理
    hadoop 2.0 详细配置教程
    电子商务网站之购买欲望和购买目标
  • 原文地址:https://www.cnblogs.com/kimisme/p/4525779.html
Copyright © 2020-2023  润新知