首页
登录 | 注册

2014.5.11 DAO设计模式为什么要用到工厂类?

DAO设计模式为什么要用到工厂类?
Factory类统一管理DAO的实现类:需要获取DAO的实现类时,通过工厂类来获取(便于维护?缺少这块的使用经验,不能理解)
另见百度知道:《dao设计模式 解决的问题是什么
通过DAO设计确让我们软件系统已经数据层和表现层进行了简单分离让我们系统各层次功能更加清晰所我们开始洋洋得意了DAO引入让系统耦合性更加松散表现层再也需要关心台数据操作变化了于我们开始高枕无忧了我们肆无忌惮表现层通过调用DAO来实现我们系统了事实真此我们举例子来看看我们系统否真具有解偶能力了
       现我们有员工管理系统该系统Person.java表示员工对象对应着数据库person表还有用于操作Person对象DAO接口—PersonDAO.java还有PersonDAO实现类PersonDAOImpl.javaPersonDAOImpl.java我们实现了操作Person对象所有方法我们自豪说看我们已经把操作封装PersonDAO了现我们表现层(jsp或者VO操作类)使用PersonDAO personDAO=new PersonDAOImpl()来调用DAO操作我们数据对象了当我们陶醉于自己写优美代码时候项目经理来通知了由于使用Hibernate效率偏低客户开始满了还让我们重新用JDBC再重写遍吧于所有DAOHibernate实现开始全部转换成JDBC实现项目经理建议要破坏现有Hibernate实现通过技术研究来提升Hibernate访问效率于我们开始写了又写了套JDBC实现—PersonDAOJDBCImpl.java现问题出来了表现层大量使用了PersonDAO personDAO=new PersonDAOImpl()全部改成new PersonDAOJDBCImpl()谈何容易我们开始欲哭无泪了解决类似问题呢于我们开始引进DAO工厂模式我们建立类DaoFactory.java对DAO进行统管理
DaoFactory.java:
       public class DaoFactory{
       public static PersonDAO getPersonDAOInstance()
       {
              return new PersonDAOImpl() ;
       }
       //得其DAO实例
       ……
}
表现层通过PersonDAO personDAO=DaoFactory.get getPersonDAOInstance();来实例化DAO实例样问题解决了DAO改变了我们只需要DAO工厂类修改下代码:return new PersonDAOJDBCImpl() ;我们应用快速切换JDBC实现了见利用工厂模式我们系统又进步解耦表现层真无需再关系DAO层变化了切交给DAO工厂来解决
本文网址:http://www.bnee.net/article/466720.html

相关文章

  • 作为一个前端新人,学习了设计模式以后,希望能从源头上,用浅显易懂的语言来解释它.当然不一定是正确的,只是我个人对设计模式的一点浅显理解. 创建型设计模式 创建型设计模式:故名思意,这些模式都是用来创建实例对象的. 单例模式:首先我们需要理解 ...
  • 浅谈常见设计模式--单例模式 简单工厂模式
    今题那站在这里和大家一起分享最近在一本书上看到的关于设计模式的内容,接下来要讲的设计模式有: 单例模式 简单工厂模式 工厂方法和抽象工厂 代理模式 命令模式 策略模式 门面模式 桥接模式 观察者模式 接下来详细介绍灭一种设计模式(注意:下面 ...
  • 【设计模式学习笔记】工厂模式
    实现简单计算器 简单工厂模式 类图: 代码: //运算类 public class Operation { private double _numberA = 0; private double _numberB = 0; public d ...
  • 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
    被腾讯笔试打击到了,腾讯笔试的设计模式题目都没有做对过,所以我要学习下设计模式,就买了入门的<大话设计模式>这本书. 我从昨天下午开始看这本书,今天中午看完,发现这本书浅显易懂,作为入门读物还是不错的. 好脑子不如烂笔头,我还是 ...
  • Java设计模式之抽象工厂模式
    工厂方法模式中讲了女娲造人的故事.人是造出来了,可是低头一看,都是清一色的类型,缺少关爱.仇恨.喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,忘记给人类定义性别了,怎么办?抹掉重来,于是人类经过一次大洗礼,所有的人种都消灭掉了 ...
  • 设计模式的东西,其实工作中也用的很多,但是自己都不知道用了哪些,所以自己去网上找了些资料学习下,写个自己容易理解的笔记来方便自己复习. 这里的文章感觉还不错,说的比较好 http://www.cnblogs.com/maowang1991/ ...
  • 原创文章,转载请标注出处:https://www.cnblogs.com/V1haoge/p/10755412.html 一.概述 抽象工厂模式是对工厂方法模式的再升级,但是二者面对的场景稍显差别. 工厂方法模式面对的目标一般都是单类的,就 ...
  • 一课OO设计模式:抽象工厂
    场景与意图场景:多主题/风格意图:为管理产品族提供一个松耦合易扩展的设计特点隔绝产品的实际使用者与产品具体实现者,使得产品族扩展不影响使用者代码产品族的使用切换动态,而且可以动态设计结构Demohttps://github.com/zhan ...

2019 bnee小站 webmaster#bnee.net
12 q. 0.036 s.
湘ICP备19013596号-2