インスタンスの生成タイミング
あるクラスのインスタンスの生成タイミングの指針の一つは、そのクラスのインスタンスの数とシステムの実行単位の数の関係。
システムの実行単位に対してインスタンスは1つ、あるいは一つしか必要ないものだったらシングルトンの候補。 システムの環境の都合でアプリ初期化時か必要になった時点でインスタンスを生成するかを決定する。
システムの実行単位に対してインスタンスが複数の場合は、必要なタイミングで生成するかどうかはそのクラスのインスタンス生成のコストを見積もり、それとライフサイクルによって判断する。
クラスによってはインスタンス生成コストが非常に高いものがある、他システムを使うコネクションとか、異常にでかいやつとか。
頻度も考慮した上で生成コストがかかるものは、キャッシュ化と使い回しを検討する。