1
破壊されたときに呼び出されるクラスメソッドはありますか?クリスタル - クラス破壊のメソッド
new
をクラスに使用する場合、initialize
メソッドが呼び出されます。destroy
相当ですか?
クラスが使用されなくなったときにデータベースが正しく閉じられていることを確認する必要があります(データベースが閉じられた後もプログラムは実行され続けます)。
破壊されたときに呼び出されるクラスメソッドはありますか?クリスタル - クラス破壊のメソッド
new
をクラスに使用する場合、initialize
メソッドが呼び出されます。destroy
相当ですか?
クラスが使用されなくなったときにデータベースが正しく閉じられていることを確認する必要があります(データベースが閉じられた後もプログラムは実行され続けます)。
Object#finalizeがありますが、このようなデストラクタは一般に、Cライブラリのリソースを解放するなどの低レベルの抽象化にのみ必要です。通常のアプリケーションやライブラリのコードでは、これはコードの匂いと考えられ、通常はより良い解決策があります。
データベース接続が特定の相互作用にのみ使用されている場合は、GCデストラクタフックに頼るのではなく、手動で接続を開いたり閉じたり(おそらくはブロックでラップ)する方がよいでしょう。