27

ウィキペディア ( http://en.wikipedia.org/wiki/Object_pool )でオブジェクト プール パターンについて読んでいて、 「危険なほど古い状態」について言及しています。

「古い」状態とは正確には何ですか?状態がフィールドやプロパティなどの変数/データであることは知っていますが、古いまたは危険なほど古いとはどういう意味ですか?

4

4 に答える 4

45

古い状態とは、現実を反映していないオブジェクト内の情報です。

例: オブジェクトのメンバーにはデータベースからの情報が入力されていますが、オブジェクトが入力されてからデータベース内の基になるデータが変更されています。

危険なほど古い状態とは、プログラムの動作に悪影響を与える可能性がある古い状態です。つまり、データの整合性に関する無効な仮定によりプログラムが正しく実行されなくなります。

于 2009-10-13T22:38:36.957 に答える
4

オブジェクトに保存されている値が、基礎となる永続値を反映しなくなった場合に発生します。危険なほど古いというのは、値が本当に時代遅れであると言う方法にすぎないと思います。

于 2009-10-13T22:38:38.273 に答える
1

「古い状態」とは、システムの残りのオブジェクトの格納された (キャッシュされた) ビューが古くなったときです。たとえば、あるオブジェクトが他のオブジェクトへのハンドルを保持していますが、その間に 2 番目のオブジェクトが削除されています。

古いハンドルを逆参照しようとすると、大きな問題が発生する可能性があります。

ほとんどのシステムは、古い状態になるさまざまな理由から自動的に保護しようとしますが、すべてのケースをカバーできるとは限りません。(システムにより異なります。)

ラリー

于 2009-10-13T22:41:19.877 に答える
0

基本的に無効な状態を意味します。通常、インスタンスに状態変化を通知しないことの副産物です。

于 2009-10-13T22:38:41.573 に答える