ソフトウェアアーキテクチャ博物館AtMuseum
失敗パターン解説


アドホックなインスタンス生成

説明

手続きの途中でクラスをインスタンス化すること。ライフタイムの逆転が引き起こされることがある。

 

インスタンスの生成と、処理の手続きは分離する。

手続きの途中でインスタンスを生成すると、そのインスタンスのオーナーが曖昧になり、ライフタイム(生成から消滅の期間)が実装依存になってしまいます。そのため、すでに消滅したはずのインスタンスにメッセージを投げて、NULLアクセスエラーにってしまうことがあります。

 

インスタンスのファクトリと、クラス間のメッセージ通信を明確に分けて設計すること、が大切です。

new()とメソッド呼び出しの分離。