この質問は何度か聞かれたことは承知していますが、ここで取り組んでいる特定の例でそれを組み立てたかったのです。メッシュ上で動作する有限要素コードに取り組んでいます。メッシュは論理的にはオブジェクトであり、「構築」または構築されるまで何もできません。メッシュ パラメータをコンストラクタに渡し、コンストラクタにメッシュを構築させるのは理にかなっているようです。Web を検索すると、これは必ずしも良い考えではなく、コンストラクターはできる限り少ないことを行うべきであるという一般的な意見が見られます。
メッシュの生成は、長く複雑なプロセスになる場合があります。一方、メッシュは生成されるまで完全に使用できません。これは、その構成と見なされます。クライアントが呼び出すメソッドとして各ステップをマップすることもできますが、これらのメソッドは常に同じであり、常に同じパラメーターを使用します。内部が変更されたとしても、パブリック インターフェイスが変更される可能性は非常に低いです。さらに、クライアントがメッシュ生成の詳細に関心を持つべきではないことはおそらく理にかなっています。それを念頭に置いて、メッシュをコンストラクターで完全に生成し、その後すぐに使用できる状態にすることは理にかなっているようです。クライアントに対して不透明な単純な生成メソッドを作成することもできますが、コンストラクターで同じことができないのはなぜでしょうか? 使用可能でなければなりません。
このようなものをコンストラクターに入れる際に注意すべき隠れた危険はありますか?