1.应用程序层次结构演变

这里本来应该有张描述应用程序结构演变的图,可是CSDN在这里上传不了,所以没有传上来.

纵观几十年的计算机应用软件的演变过程,应用程序逐渐由单层体系结构发展为多层体系结构。最初应用软件只是在大型机上的单层应用程序,大都采用文件系统存储数据。20世纪70年代,随着数据库的普及,原来的单层结构发展为双层结构。在双层结构中,实现了数据存放与应用程序的分离。但是,负责用户界面交互的代码与业务逻辑混杂在一起,一个小的系统尚可以维护但是对于企业级的应用,长期的维护就是一件十分困难的事情。因此,三层的体系结构应运而生。在三层结构中,把原来的应用程序层分成了视图层和业务逻辑层、数据库层维持不变。随着软件行业的蓬勃发展,人们感觉这样频繁的操作数据库和大量的底层代码的重复书写极大的浪费了程序人员的心血,Hibernate,Spring,等框架的应运而生了。

在Hibernate中又将原来原业务逻辑层分成了业务逻辑层和持久层。(现在主流的分层结构依然是三层结构).

2.什么是持久化? 为什么要持久化?

1.什么是持久化?

本人找了好多文章都没有找到满意的答案,最后是从孙卫琴写的《精通Hibernate:Java对象持久化技术详解》中,看到如下的解释,感觉还是比较完整的。摘抄如下:

狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作(持久化就是将有用的数据以某种技术保存起来,将来可以再次取出来应用,数据库技术,将内存数据一文件的形式保存在永久介质中(磁盘等)都是持久化的例子.)。

●     保存:把域对象永久保存到数据库。

●     更新:更新数据库中域对象的状态。

●     删除:从数据库中删除一个域对象。

●     加载:根据特定的OID,把一个域对象从数据库加载到内存。

●     查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。

2.为什么要持久化?

持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。

● 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;

● 代码重用性高,能够完成大部分数据库操作;

● 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。

什么叫持久化? 为什么持久化?(转)相关推荐

  1. php使用redis持久化,Redis持久化完整版本

    持久化的简介 RDB AOF RDB与AOF的区别 持久化应用场景 对于持久化这个功能点,其实很简单没有那么复杂 演示环境 centos7.0 redis4.0 redis存放目录:/usr/loca ...

  2. Redis 中的 持久化 RDB持久化 SAVE:阻塞服务器并创建RDB文件 BGSAVE:以非阻塞方式创建RDB文件 通过配置选项自动创建RDB文件

    这里写目录标题 15.1 RDB持久化 15.1.1 SAVE:阻塞服务器并创建RDB文件 其他信息 15.1.2 BGSAVE:以非阻塞方式创建RDB文件 其他信息 15.1.3 通过配置选项自动创 ...

  3. 怎么让修改的html持久化_redis持久化机制

    redis 有 RDB 和 AOF 两种持久化机制,这两种机制可以共存. 可以通过修改redis.conf配置文件中的 dir 参数来改变生成的 dump.rdb 和 appendonly.aof 这 ...

  4. 可持久化-可持久化字典树

    可持久化-Trie可持久化 2021年8月2日 可持久化干什么? 可持久化,就是记录每次更改的版本,以便于后续使用从前的版本.对于字典树,就是对每次加入的字符串按次进行记录. 算法原理 建树时,每次新 ...

  5. 可持久化4--可持久化并查集

    可持久化并查集 可持久化并查集 = 按秩合并并查集 + 可持久化数组 首先并查集不能采用路径压缩,这是因为一次findR操作中,fa数组的很多位置(u->ru)会发生修改,由于每次修改都需要在可 ...

  6. 可持久化3--可持久化01Trie

    01Trie 可持久化 01Trie 的方式和可持久化值域线段树的方式是相似的,只是以 01字典树 的方式来维护值域.一般用来解决异或相关的能够按位贪心的题目. 其实就是将可持久化线段树中的操作嫁接到 ...

  7. redis内存淘汰和持久化_redis 持久化

    一.RDB持久化 (一).RDB介绍 可以在指定的时间间隔内生成数据集的 时间点快照(point-in-time snapshot),新快照会覆盖老快照 (二).优点 压缩格式,恢复速度快,适合于用做 ...

  8. Redis 持久化——混合持久化

    RDB 和 AOF 持久化各有利弊,RDB 可能会导致一定时间内的数据丢失,而 AOF 由于文件较大则会影响 Redis 的启动速度,为了能同时使用 RDB 和 AOF 各种的优点,Redis 4.0 ...

  9. vuex状态持久化_Vuex持久化存储之vuex-persist

    Vuex 解决了多视图之间的数据共享问题.但是运用过程中又带来了一个新的问题是,Vuex 的状态存储并不能持久化.也就是说当你存储在 Vuex 中的 store 里的数据,只要一刷新页面,数据就丢失了 ...

最新文章

  1. 【linux】NXP MFGTools工具配置文件详解
  2. 远程办公从学习开始,潜伏在家,技术如何逆袭?
  3. 前端学习(1184):数据绑定指令
  4. 【opencv】【图像梯度】
  5. A*算法(一)算法导言
  6. python装饰器记录每一个函数的执行时间
  7. 计蒜客挑战难题:移除数组中的重复元素
  8. stats | 广义线性模型(二)——泊松回归
  9. c语言上机实验第五章答案,安徽大学C语言上机实验参考答案
  10. Docker入坑指南之EXEC
  11. ElasticSearch 2 (18) - 深入搜索系列之控制相关度
  12. 从Bezier到NURBS曲线(1) - Bezier曲线
  13. Java流(Stream)、文件(File)相关功能 ——菜鸟教程
  14. web 安全-电脑端口(全部)
  15. 苹果描述文件服务器证书无效,22.iOS企业版证书、描述文件过期问题解决
  16. 计算机网络安全基础复习(第四版)袁津生主编(转载请注明出处---https://www.cnblogs.com/qingl)...
  17. 现代软件工程讲义 4 方法论 - MSF
  18. ROS--Kinetic--执行roslaunch时遇到的问题和解决办法
  19. 自动化测试框架RobotFrameWork教程03 RF基础关键字
  20. Android 炫酷进度条

热门文章

  1. 雨林木风团队宣布解散
  2. 关于生产者与消费者模型的概念
  3. 帕克西AR试妆|试妆有术,你就是天生尤物
  4. 2023年二建市政实务怎么高效率复习?
  5. python常用小技巧(一)——百度图片批量爬取
  6. python统计各分数段人数并可根据选择绘制不同的图形_统计图形自己就可搞定,一文学会用Python绘制经典饼图...
  7. 苹果电容笔值得买吗?性价比高的电容笔排行榜
  8. 相关方管理·三思而后行
  9. jQuery 中 serialize() 、 serializeArray()和 $.param 的用法
  10. 为了更快的砍柴,每日磨刀:LeetCode刷题半年的思考和总结