1
我具有以下樹狀結構,其中每個電平由單獨的類表示:保存樹狀結構
Book ------ Page ------ Line
1 n 1 n
每個類具有保持其所有成員(E/G/Book::pages
一個屬性,作爲參考文獻福地陣列),一些特定於電平特性(例如Book::author
)以及一些方法來添加/刪除其成員。
現在我想保存/從一個單一的文件中的所有數據加載到/。這不會是一個關係數據庫(最有可能YAML將被使用),所以基本上是我需要得到在某些時候是一樣的東西:
my $book = {
author => "Fred Flinstone",
name => "My Favorite Stones",
pages => [
{
number => 1,
footer => "Dedicated to Wilma",
lines => [ ],
},
{
number => 2,
lines => [
{ text => "Preface", style => "h1" },
{ text => "This book is about my favorite stones:" },
{ text => "Marble" },
# ...
]
},
# ...
]
};
如果有一個智能對在圖書方法知道所有成員類?或者每個班級應該實施其中的一部分,例如Line::save
返回類似{ text => "Marble" }
?
什麼是實現這個正確方法是什麼?我希望儘可能少的解決方案與實際數據相關。如果我決定明天什麼添加Page::bookmarks
並要保存Bookmark
S作爲呢?
哦,我使用的駝鹿,但不應該太大的差別。
可以序列並恢復與'Storable'模塊祝福的對象。 – PSIAlt 2013-02-27 21:28:34