プレゼンテーションレイヤーで新しいエンティティをどこに作成すればよいですか?
-
29-10-2019 - |
質問
私はジャワのすべての果物と、しばらくの間私の心の中で飛び回っていたものを見つけたかったすべてを学んでいるだけなので。コードBellowは、2つの異なるクラスの2つの方法の簡単な例です。最初の1つは明らかに一部のページのコントローラーであり、もう1つはサービスの一部です。
@RequestMapping("/something)
public void doSomething() {
...
SomeEntity example = new SomeEntity();
example.setAccount(account);
example.setSmthElse(else);
example.setDate(new Date());
example.setSomething(something);
someService.saveSomeEntity(example);
}
...
public void saveSomeEntity(SomeEntity object) {
someEntityDAO.save(object);
}
だからここでの私の質問は、新しいエンティティの作成が必要な場合です SomeEntity
そして、そのプロパティの設定は、上記のようにプレゼンテーションレイヤーパーツで行われるか、どういうわけか saveSomeEntity
すべてのパラメーションを渡すことによって方法?
解決
コントローラーはプレゼンテーションレイヤーではありません。 MVCのC。持続層は、モデルオブジェクトの作成ではなく、持続性のみに関係している必要があります。上記のコードは大丈夫です。一部の人は、コントローラーではなくサービス内のオブジェクトを作成しますが、パラメーションはコントローラーで容易に利用できるため、受け入れ可能です。
他のヒント
はい、エンティティは任意のレイヤーで作成できます。
一部の人々は、エンティティに翻訳されるDTO(同じ構造を持つ個別のオブジェクト)を好みます。
JSPでJavaコードを書くことは避けてください。コントローラーにオブジェクトをインスタンス化するか、それをいくつかの結合メカニズムに任せます。
所属していません StackOverflow