翻譯DB4O參考——Object Container
ObjectConatainer
Db4o給你簡單直接的接口來實(shí)現(xiàn)對(duì)象的持久化,這就是ObjectContainer.在.NET版本里,相應(yīng)的名字是IObjectContainer。
ObjectConatainer 是你的Db4o的數(shù)據(jù)庫。
Java:ObjectContainer container = Db4o.openFile(filename)
帶有路徑的文件名是你要存儲(chǔ)對(duì)象的文件。通常,當(dāng)應(yīng)用開始,你應(yīng)該打開一個(gè)ObjectContainer,并在這個(gè)session 結(jié)束把對(duì)對(duì)象的改動(dòng)持續(xù)化到物理存儲(chǔ)設(shè)備上時(shí)關(guān)閉ObjectContainer.
(通常而言,打開一個(gè)ObjectContainer 表示一個(gè)新的session)
Java:container.close()
ObjectContainer 提供給用戶持續(xù)化對(duì)象的所有基本的方法。通常而言,你能保存,修改一個(gè)對(duì)象通過 ObjectContainer#set(object)
刪除的方法如下:
ObjectContainer#delete(object)
通過ObjectContainer#get(object),你可以得到對(duì)象。
ObjectContainer的獨(dú)特的功能如下:
???????? 一個(gè)ObjectContainer既可以采用單用戶模式,也可以通過客戶端連接DB4O的服務(wù)端。
???????? 每一個(gè)ObjectContainer 有自己的事務(wù),所有的操作都在事務(wù)中。當(dāng)你打開一個(gè)ObjectContainer時(shí),你就處于一個(gè)事務(wù)中,當(dāng)你調(diào)用
? ? ? ? ? commit()? 或者roolback()這個(gè)事務(wù)被立即執(zhí)行。
???????? 每個(gè)ObjectContainer保持自己的應(yīng)用來存儲(chǔ)和持續(xù)化對(duì)象。通過這樣,它保證對(duì)象的一致性并實(shí)現(xiàn)了高性能。
??????? ObjectContainer對(duì)你而言是開發(fā)的,只要你的應(yīng)用依賴于它。當(dāng)你關(guān)閉ObjectContainer,在內(nèi)存中所有數(shù)據(jù)庫對(duì)象引用被收集。
??????? ObjectContainer提供的基本功能足夠滿足你使用DB4O數(shù)據(jù)庫,其他高級(jí)接口是繼承了ObjectContainer的ExtObjectContainer.
分開基本與高級(jí)功能的基本思想是:
?????? 保證根包于命名空間比較小,和有好的可讀性。
?????? 分離主要的和可選的功能。
?????? 使其他產(chǎn)品比較容易實(shí)現(xiàn)基本DB4O接口。
????? 展示一個(gè)輕量級(jí)的DB40.
每一個(gè)ObjectContainer也是ExtObjectContainer.你可以直接把它強(qiáng)制轉(zhuǎn)換為
ExtObjectContainer,也可以通過ext()方法得到ExtObjectContainer使用高級(jí)特性。
posted on 2007-03-12 16:41 advincenting 閱讀(1794) 評(píng)論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫相關(guān)