ソフトウェアアーキテクチャ博物館AtMuseum
失敗パターン解説
失敗パターン解説
インスタンスがいない
説明 | ライフタイムのねじれが発生している。処理の途中でインスタンスを生成していると発生しやすい。
インスタンスの生成とインスタンスの動作(処理)を分離する。 Factoryなどでインスタンスを明示的に生成し、インスタンス同士の関連も張ってから、 インスタンス間の呼び出し(処理)をするように、生成と処理を分離する。 また、インスタンスを管理するOwnerを決めた方がよい。 Ownerが、生成と消滅に責任を持つ。生成と消滅をシンメトリにすることでメモリリークもなくなる。
典型的なライフタイムは、コンフィグ単位とジョブ単位がある。 コンフィグ単位は、ソフトウェアの初期化時点で生成され、終了時点で消滅するライフタイム。 ジョブ単位は、ユーザからの指示やコマンド単位に達成し、処理が終了した時点で消滅するライフタイム。
|
---|