問題タブ [static-factory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2524 参照

c# - 定義済みの値を持つ DTO オブジェクトを作成するための静的ファクトリ メソッドの適切な使用法

あらかじめ定義された (既定の) 値を持つ複雑な DTO オブジェクトを作成する必要があるとします。このオブジェクトはシリアル化に使用され、シリアライザーにはパラメーターなしのコンストラクターが必要です。そのために静的ファクトリ メソッドを使用したいのですが、このアプローチの適切な使用方法について疑問があります。

次の 2 つの例を考えてみてください。

最初の例では、ファクトリ メソッドは事前定義されたフィールドのみを初期化します。ユーザーは、オブジェクトの作成後に残りのフィールドを初期化する必要があります。2 番目の例では、事前定義されたフィールドと必須フィールドを初期化しますが、欠点として、ユーザーは null 許容 (この場合は必須ではありませんが、他のフィールドでは必須) フィールドに入力する必要がありますflatNumber

これら 2 つのソリューションの長所と短所の両方を理解していますが、どちらがより好ましいか、またその理由を検討しています。たぶん、他のアプローチがさらに良いでしょう。私はどんな提案も受け入れますが、ビルダーパターンが適用される問題はそれほど複雑ではないことに注意してください。