.NET 中的对象序列化:原理、配置与实践
1. 对象图的作用
在对象序列化过程中,CLR 会考虑所有相关对象,以确保数据能正确持久化。这些相关对象的集合被称为对象图,它提供了一种简单的方式来记录一组对象之间的引用关系。需要注意的是,对象图并不表示面向对象编程中的“is - a”或“has - a”关系,对象图中的箭头可以理解为“需要”或“依赖于”。
每个对象图中的对象都会被分配一个唯一的数值,但这些数值是任意的,对外界没有实际意义。分配完数值后,对象图就能记录每个对象的依赖关系。
例如,假设有一组用于模拟汽车的类。有一个基类 Car ,它包含一个 Radio 对象,另一个类 JamesBondCar 继承自 Car 。下面是可能的对象图关系表示:
graph LR
A[JamesBondCar 1] --> B[Car 3]
A --> C[Radio 2]
B --> C
从这个对象图可以看出, Car 依赖于 Radio , JamesBondCar 既依赖于 Car 也依赖于 Radio 。在序列化或反序列化 JamesBondCar 实例时,对象图能确保 Radio 和
超级会员免费看
订阅专栏 解锁全文
1231

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



