持久化对象:粗粒度与细粒度实现方案
在编程领域,持久化对象是一个重要的概念,它允许数据在程序的不同运行周期中得以保存和恢复。下面将详细介绍粗粒度和细粒度两种持久化方案。
粗粒度持久化
粗粒度持久化的目标是实现任意类对象的持久化,并保留持久化对象之间的相互关系。为了达到这一目标,需要将持久化机制与特定类分离,并将序列化方案进一步抽象。
持久化模块 Persistence
Persistence 模块使用标准的 Exporter 模块导出一个名为 persistent 的子例程,它替代了之前示例中的 Contact::Persistent::persistent 方法。该模块声明了两个包变量:
- %pers_var :用于收集持久化变量。
- $storage_file :记录存储持久化变量编码表示的文本文件的名称。
以下是 Persistence 模块的代码实现:
package Persistence;
$VERSION = 1.00;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw( persistent );
use strict;
use Carp;
use Data::Dumper;
$Data::Dumper::Purity = 1;
u
超级会员免费看
订阅专栏 解锁全文
172万+

被折叠的 条评论
为什么被折叠?



