- PR -

オブジェクトの持続性

1
投稿者投稿内容
くろ
常連さん
会議室デビュー日: 2004/08/17
投稿数: 42
投稿日時: 2006-05-08 18:36
こんばんわ、くろです。

現在Hibernateの勉強をしています。
Hibernateで、「オブジェクトの持続性」という言葉が出てきまして、
この言葉の動きが、イマイチ掴みにくいの、お教え頂けませんでしょうか?

「オブジェクトが持続する」ことのメリットって、
一体何なのでしょうか?

まだまだ勉強不足で、初歩的なご質問でお恥ずかしいですが、
宜しくお願いします。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-05-08 20:25
こんばんは。
#間違っていたら、ごめんなさい

多分、「持続(persistence)」=「永続」のことだと思いますが。
私は「オブジェクトの永続化」のほうをよく耳にします。

意味は…
メモリ上に展開されているオブジェクト(インスタンス)の状態を、
ファイルやDBなどの不揮発性記録媒体(ストレージ)に書き込んだり、復元することによって、
オブジェクト(インスタンス)を(半)永久的に保持すること
…でしょうか。

メリットは…
アプリケーションを終了したり、PCの電源を落として、
オブジェクトが消滅しても(メモリ上から消えても)
再度オブジェクトの状態をストレージから復元することができる点
…でしょうか。


[ メッセージ編集済み 編集者: Tdnr_Sym 編集日時 2006-05-08 20:27 ]
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-05-08 21:04
こんばんは。すこし補足します。
#私の言葉では、正確さにかけるので(~_~;)


対決! O/Rマッパー vs. オブジェクト指向DB
第1回 Javaのオブジェクト永続化に何を選ぶ?
から、一部抜粋させていただくと…

引用:

はじめに

多くのアプリケーション・システムでは、データは半永久的に保存され、いつでも参照できなければなりません。オブジェクト指向システムであれば、オブジェクト(インスタンス)の状態や関連を保存し復元すること、つまり、オブジェクトの永続化が必要です。



引用:

永続化とは

オブジェクト指向プログラミング言語を使い始めたころを思い出してください。Javaであればnewオペレータを使って、目的のクラスのインスタンスを生成し、そのインスタンスにメッセージを送る(メソッドを呼ぶ)ことで、期待した振る舞い(状態の変化など)を実現できたはずです。ただし、このインスタンスはプログラムが終了すると同時にすべて消滅してしまいます。

例えば、文書作成プログラムであれば、せっかく入力した文書(インスタンス)がプログラムの終了と同時に消滅することになります。これでは文書作成プログラムとしては使えません。そこで、生成したインスタンスの保存(永続化)が必要になってきます。永続化とは、インスタンスの状態を半永久的に保存し、いつでも復元できるようにすることです。もちろん、永続化を必要としないシステムもたくさんありますが、ビジネスアプリケーションなどの世界では必須の要件といえるでしょう。




すこし意味は違ってきますが、
「オブジェクトのシリアル化」という言葉もあります。

”ファイル”に「オブジェクトを永続化」する場合、
通常「オブジェクトのシリアル化」を行います。
くろ
常連さん
会議室デビュー日: 2004/08/17
投稿数: 42
投稿日時: 2006-05-08 23:42
Tdnr_Symさん

こんばんわ、くろです。

> 意味は…
> メモリ上に展開されているオブジェクト(インスタンス)の状態を、
> ファイルやDBなどの不揮発性記録媒体(ストレージ)に書き込んだり、復元することによっ> て、
> オブジェクト(インスタンス)を(半)永久的に保持すること
> …でしょうか

このTdnr_Symさんの、説明でうっすらとではありますが、
イメージが出来てきました。

私は「オブジェクトの持続性」という言葉の意味を、
受け止め違えていたみたいです。

ご教授の程、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)