コンストラクターvsファクトリーメソッド[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する クラスをモデル化するとき、初期化の好ましい方法は何ですか? コンストラクタ、または ファクトリメソッド そして、それらのいずれかを使用するための考慮事項は何でしょうか? 特定の状況では、オブジェクトを構築できない場合にnullを返すファクトリメソッドを使用することを好みます。これにより、コードがきれいになります。コンストラクターから例外をスローするのとは対照的に、代替アクションを実行する前に、戻り値がnullでないかどうかを簡単に確認できます。(私は個人的に例外は好きではありません) たとえば、id値を期待するクラスにコンストラクターがあるとします。コンストラクターはこの値を使用して、データベースからクラスを生成します。指定されたIDのレコードが存在しない場合、コンストラクターはRecordNotFoundExceptionをスローします。この場合、そのようなすべてのクラスの構築をtry..catchブロックで囲む必要があります。 これとは対照的に、レコードが見つからない場合にnullを返すこれらのクラスに静的ファクトリメソッドを設定できます。 この場合、コンストラクタとファクトリメソッドのどちらのアプローチが優れていますか?