0

ここに画像の説明を入力

ユーザーが顧客をシステムに追加したいとします。彼はフォームに顧客情報を入力し、ボタンを押します。クリック イベントは、UI レイヤーのフォーム オブジェクトによってキャプチャされます。ユーザー、フォーム自体、またはビジネス層のコントローラーによって提供された情報を使用して、新しい顧客オブジェクトを作成する責任は誰にありますか?

「UML とパターンの適用」という本の中で、これまで見てきた例では、ユーザー入力がフォームまたはパラメーターでコントローラーに渡され、コントローラーが適切なオブジェクトを作成します。私の疑問は、代わりにオブジェクトを使用してレイヤー間でデータを渡す方が望ましいと言われたからです。パラメーターの束ではありません。

4

1 に答える 1

0

これは非常に幅広い質問であり、問​​題の解決策ではなく、主に意見を受け取る可能性があります。私の意見では (sic) オブジェクトを作成するのは明らかに責任ではなく、おそらく別のオブジェクト (おそらくファクトリ) の仕事です。コントローラーの仕事は、入ってくる作業を他のサービスにディスパッチすることです。それが単一の責任です。

同じ理由で、フォームでオブジェクトを作成することはとにかく問題外ですが、フォームでオブジェクトを作成しない別の理由があります。顧客オブジェクトは、プレゼンテーション層ではなく、ビジネス層 (ドメイン) に属します。異なるレイヤー間でのみデータを転送する目的でオブジェクトの作成について話している場合、この引数は無効になります。DTO。この場合、UI レイヤーが を作成し、CustomerDTOそれをコントローラーに渡せば問題ありません (オブジェクト作成の責任に関する上記の説明がここにも当てはまります)。

于 2015-10-21T12:56:11.473 に答える