- UID
- 12912
- 精华
- 0
- 冰点
- 9
- 阅读权限
- 130
- 主题
- 5
- 回帖
- 37540
- 在线时间
- 3558 小时
- 注册时间
- 2014-2-11
- 最后登录
- 2026-11-12
签到天数: 4152 天 [LV.Master]伴坛终老
精灵王☆
    
- 回帖
- 37540
- 雪点
- 1978
- 阅读权限
- 130
- 在线时间
- 3558 小时
- 注册时间
- 2014-2-11
- 最后登录
- 2026-11-12
|
我去询问咗Ai,睇下可以帮到你无
1. 點樣唔相撞(名稱/命名空間衝突)
• 元數據標記(Metadata / Type Tagging):喺序列化嘅 JSON/Blob 入面,除咗儲存數據,仲要加一條隱藏屬性(例如 "$type": "Namespace.ClassName"),確保反序列化時搵得返啱嘅 Class。
•唯一識別碼(UUID / Hash):同一個 Class 名如果喺唔同 Plugin 出現,就用 Plugin 名做 Prefix,或者同個 Class 產生一個 Hash ID 來做唯一標識。
2. 點解決循環參照(Circular Reference)斷開
• 引用表機制(Object Identity Map / Tracking):
• 序列化時:用一個 Map 記住所有處理過嘅物件。遇到重複嘅物件,唔好再開新叉,只儲存一個「指引標記」(例如 "$ref": "id_1")。
• 反序列化時:先建立所有物件嘅空殼(或者第一層),然後跟住呢啲 id 重新將佢哋嘅 Reference 駁返埋(Two-pass Resolution)。 |
|