详解。。设计模式5——DAO。。studying
来源:互联网 发布:快速成型切片算法 编辑:程序博客网 时间:2024/05/17 16:56
设计模式5——DAO
★ 场景和问题
在Java程序中,经常需要把数据持久化,也需要获取持久化的数据,但是在进行数据持久化的过程中面临诸多问题
(如:数据源不同、存储类型不同、供应商不同、访问方式不同等等),
请问如何能以统一的接口进行数据持久化的操作?
例如:
★ DAO的理解
1、DAO其实是利用组合工厂模式来解决问题的,并没有带来新的功能,所以学的其实就是个思路。
2、DAO理论上是没有层数限制的。
3、DAO的各层理论上是没有先后的。
★ DAO模式的本质
一层屏蔽一种变化
图片显示路径:
★ 代码实现
package cn.hncu.patterns.exercise.dao;import cn.hncu.patterns.exercise.dao.api.DeputyDAO;import cn.hncu.patterns.exercise.dao.factory.F1Factory;public class Client {public static void main(String[] args) {DeputyDAO d = F1Factory.getDeputyDAO();d.createInformation("001", "Lucy");}}
package cn.hncu.patterns.exercise.dao.api;public interface DeputyDAO {/* * userID-主键,内部生成 * name-用户名字 */public void createInformation(String userID, String name);}
package cn.hncu.patterns.exercise.dao.factory;import cn.hncu.patterns.exercise.dao.api.DeputyDAO;import cn.hncu.patterns.exercise.dao.imp.a.A_f2Factory;import cn.hncu.patterns.exercise.dao.imp.b.B_f2Factory;public class F1Factory {public static DeputyDAO getDeputyDAO() {int type = 1;if (type == 1) {return A_f2Factory.getDeputyDAO();} else if (type == 2) {return B_f2Factory.getDeputyDAO();}return null;}}
其他代码超链接:点击打开链接
0 0
- 详解。。设计模式5——DAO。。studying
- 详解。。。设计模式2——工厂。。。studying
- 详解。。。设计模式3——值对象。。。studying
- DAO设计模式详解
- 详略。。。设计模式4——装饰模式。。。studying
- 详略。。设计模式1——单例。。。。studying
- JDBC编程——DAO设计模式
- J2EE设计模式——DAO
- 详略。。设计模式2——单例变形(多例).。。。studying
- Java分层设计(DAO设计模式)—JUnit测试
- Java开发———DAO设计模式及优化
- 粗略。。。java设计模式总结。。。studying
- 实现DAO 设计模式
- DAO设计模式
- 实现DAO 设计模式
- 什么DAO设计模式
- 设计模式--DAO
- DAO设计模式
- zoj 2314 Reactor Cooling 有上下界的网络最大流
- Hibernate的缓存
- CentOS系统下的Hadoop集群(第6期)_WordCount运行详解
- for循环
- 视权贵如腐鼠
- 详解。。设计模式5——DAO。。studying
- mysql存储引擎的一点学习心得总结
- 函数详解
- 关于matlab中get和set的用法
- 华为OJ(矩阵乘法计算量估计)
- Today Extension 与 Host App 共享数据的3种方法
- 做自由之龟
- ios系统 越狱系统还原[平刷]
- 黑马程序员=====网络编程小总结