概要
Webアプリケーションにおいて、画面のフォームから入力された値や、
DBから取得した値を、どのように保持をし、使用されるかを理解する事で、
Webアプリケーション全体、システム全体についての理解を深める事ができる。
JavaのWebアプリケーションにおいては、JavaBeansといったものが上記の役割を担っている。
JavaBeansとは
データを保存しておくための倉庫のようなもの。
下記のようにプロパティを設定し、プロパティに対するsetter/getterメソッドを持っている。
public class MemberBean {
private String name;
private int age;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
}
上記のようなクラスがJavaBeansとして機能し、
それぞれの役割に応じて、クラス名にPersonForm、PersonDtoといったようなクラス名をつけて使用する。
Form、Entity、Dtoクラスの特徴
Formクラス
・ HTTPのPOSTメソッドで送信された値(=formタグの中身)が入っている。
Entityクラス
・ DBに登録・更新する値を入れておく。
・ DBから取得した値を保持しておく。
Dto(DataTransferObect)クラス
・データの交換のため使用する。
→FormクラスやEntityクラスの値を直接編集したりすると、元のデータに戻せない場合があるため、
一旦Dtoクラスに入れておき、ビジネスロジック内で値の編集などを行ったりする。
まとめ
Form、Entity、Dtoクラスは、クラスの構成としてはどれも同じで、
その用途によって名前や役割が異なる。