国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

關(guān)于對(duì)象持久類(lèi)框架的構(gòu)架設(shè)計(jì)(Part1)

2019-11-18 18:36:11
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

關(guān)于對(duì)象持久類(lèi)框架的構(gòu)架設(shè)計(jì)

用語(yǔ)定義:

1.         世界:在本文中世界定義為系統(tǒng)范圍內(nèi)的所有,包括數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)記錄、對(duì)象實(shí)例、對(duì)象等(名詞)
2.         類(lèi):是定義一組相似對(duì)象的共同特征標(biāo)準(zhǔn)集合,表現(xiàn)為數(shù)據(jù)結(jié)構(gòu)(屬性與關(guān)系)與行為(操作與)。(名詞)
3.         對(duì)象:一個(gè)通過(guò)狀態(tài)與行為區(qū)別于其他實(shí)體的實(shí)體,其封裝了狀態(tài)與行為,狀態(tài)表現(xiàn)為關(guān)系與屬性,行為則通過(guò)操作與方法來(lái)體現(xiàn)。對(duì)象是一個(gè)類(lèi)的概念上的實(shí)體(也就是現(xiàn)實(shí)存在的類(lèi))。(名詞)
4.         對(duì)象元數(shù)據(jù):描述對(duì)象屬性的數(shù)據(jù)組,它包含的了對(duì)象數(shù)據(jù)的狀態(tài)以及位于持久機(jī)制上的狀態(tài)。在本文中指的是一組數(shù)據(jù)可以表示對(duì)象的屬性(名詞)
5.         屬性對(duì)象:作為一個(gè)對(duì)象的屬性而存在的對(duì)象(名詞)
6.         對(duì)象集:一組同一類(lèi)的對(duì)象。(名詞)
7.         實(shí)例:在內(nèi)存中存在的一個(gè)具體的對(duì)象。(名詞)
8.         實(shí)例集:一組對(duì)象的實(shí)例。(名詞)
9.         數(shù)據(jù)庫(kù)記錄:在數(shù)據(jù)庫(kù)中儲(chǔ)存的具體對(duì)象(也就是對(duì)象屬性與關(guān)系)以及對(duì)象集。為一條記錄或包括一組記錄(來(lái)記錄關(guān)系對(duì)應(yīng))(名詞)
10.     實(shí)例化:創(chuàng)建一個(gè)對(duì)象并設(shè)置其屬性與關(guān)系(通過(guò)數(shù)據(jù)庫(kù)記錄或其他方式)。(動(dòng)詞)
11.     對(duì)象存貯:將對(duì)象的屬性與關(guān)系映射為數(shù)據(jù)庫(kù)記錄的操作。(動(dòng)詞,名詞)
12.     對(duì)象引用:若可以通過(guò)一項(xiàng)或幾項(xiàng)對(duì)象屬性的具體特征,在一組對(duì)象中得到一個(gè)具體的對(duì)象(并不一定是實(shí)例),則稱(chēng)這一項(xiàng)或幾項(xiàng)對(duì)象屬性的特征為對(duì)象引用。(名詞)
13.     程序:本文中的程序特指Borland公司的Delphi Object Pascal語(yǔ)言所編制的程序,也許在文中有其他的語(yǔ)言出現(xiàn),我將會(huì)特別指明。

框架的構(gòu)想:

需要建立一個(gè)持久框架以完成對(duì)象以及其與其它對(duì)象的關(guān)系的保存獲取,主要針對(duì)關(guān)系型數(shù)據(jù)庫(kù),目的是使對(duì)象獨(dú)立于數(shù)據(jù)庫(kù)以及數(shù)據(jù)存取機(jī)制,簡(jiǎn)化面向?qū)ο蟪绦虻木帉?xiě),使得對(duì)象的設(shè)計(jì)、實(shí)現(xiàn)得以一致化。
根據(jù)《The Design of a Robust Persistence Layer For Relational Databases》[i]以及《Implementing Business Objects》[ii]、《Persistence Brings Success》[iii]、《Rolling your own Object Persistence Framework》[iv] 這些文章的表述我們知道應(yīng)該分離對(duì)象本身以及其持久化機(jī)制,可以保持靈活性。因此我們可以鎖定四個(gè)問(wèn)題域:對(duì)象、對(duì)象元數(shù)據(jù)以及持久化和映射機(jī)制。(關(guān)于上述文章描述的持久化系統(tǒng)的討論我將在后面進(jìn)行)
 

對(duì)象

為了建立持久對(duì)象框架,我們必須對(duì)對(duì)象應(yīng)具有的通用屬性以及操作做出統(tǒng)一的規(guī)劃,也就是定義對(duì)象類(lèi)的屬性與操作:
l         對(duì)象應(yīng)具有一個(gè)唯一的(針對(duì)世界而言)標(biāo)識(shí)(ID);由于數(shù)據(jù)庫(kù)的不同ID的表表現(xiàn)方式也不一致,可能是字符也可能是數(shù)字
l         對(duì)象可以通過(guò)統(tǒng)一的Getter/Setter機(jī)制,得到其屬性;在其他語(yǔ)言中也許有動(dòng)態(tài)映射(反射機(jī)制)的實(shí)現(xiàn),但在Delphi中沒(méi)有,我認(rèn)為使用反射機(jī)制可能會(huì)損失系統(tǒng)設(shè)計(jì)的一致性。
l         對(duì)象可以通過(guò)對(duì)其自己的元數(shù)據(jù)對(duì)象操作以保存,載入,以及從世界中刪除。
l         對(duì)象具有如下的狀態(tài):新創(chuàng)建(New),空載入(NULL Loading),元數(shù)據(jù)載入(Metadata Loading),持久載入(Persistence Loading),操作中(Operating),元數(shù)據(jù)保存 (Metadata Save),持久保存(Persistence Save),元數(shù)據(jù)修改(Modify Metadata),持久修改(Modify Persistence)。

對(duì)象的元數(shù)據(jù)

對(duì)象的元數(shù)據(jù)可以分離對(duì)象的數(shù)據(jù)實(shí)例與對(duì)象實(shí)例,可以在內(nèi)存中對(duì)于數(shù)據(jù)本身作映射,同時(shí)也可以通過(guò)數(shù)據(jù)構(gòu)建對(duì)象。它是實(shí)現(xiàn)靈活的對(duì)象持久機(jī)制的關(guān)鍵。
對(duì)象的元數(shù)據(jù)需要:
以一個(gè)通用的形式描述對(duì)象的屬性以及數(shù)據(jù)。
可以以列表的形式描述對(duì)象組的屬性以及數(shù)據(jù)。
保存類(lèi)的信息
根據(jù)屬性數(shù)據(jù)構(gòu)造對(duì)象(也就需要保存類(lèi)的信息)

持久化

持久化分為:對(duì)象的屬性到持久機(jī)制的映射以及對(duì)象關(guān)系到持久機(jī)制的映射。
持久化應(yīng)該可以:
1.         提供對(duì)應(yīng)多種的映射機(jī)制,可以對(duì)于文本、關(guān)系數(shù)據(jù)庫(kù)進(jìn)行持久操作。
2.         完整的封裝持久機(jī)制,對(duì)象只需要對(duì)持久化對(duì)象發(fā)送Save、Retrieve、Delete等消息就可以完成自身的保存、獲取、刪除等工作。
3.         針對(duì)條件進(jìn)行對(duì)象的操作。
4.         提供一個(gè)關(guān)系處理機(jī)制來(lái)處理對(duì)象間關(guān)系的持久化。
5.         提供事務(wù)支持,由于對(duì)于屬性,持久化需要:保持對(duì)象屬性的數(shù)據(jù)完整,進(jìn)行對(duì)象屬性的原數(shù)據(jù)保護(hù);同步實(shí)例的屬性與數(shù)據(jù)庫(kù)中的屬性值(世界中的多任務(wù)并發(fā)操作)。
6.         妥善處理實(shí)例與世界中其他實(shí)例(也許不在同一臺(tái)機(jī)器上)的一致性。

 



上一篇:圖像分割的一些簡(jiǎn)單實(shí)現(xiàn)

下一篇:TFontNameComboBox及TFontSizeComboBox的實(shí)現(xiàn)

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門(mén)圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 湟中县| 贵港市| 呼图壁县| 荃湾区| 遵义市| 涞水县| 秦安县| 彰化县| 阳朔县| 景洪市| 玉林市| 阳江市| 湘潭县| 武宣县| 固始县| 志丹县| 罗平县| 曲沃县| 乐东| 白河县| 习水县| 高阳县| 平原县| 阳泉市| 柳江县| 合山市| 钟山县| 彭阳县| 孟连| 汾西县| 祁东县| 寿宁县| 枝江市| 东宁县| 昌邑市| 鄂托克前旗| 吴江市| 井冈山市| 青海省| 华亭县| 尼木县|