[Seasar-user:14582] 【Teeda】Pageクラス構成について
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2008年 6月 6日 (金) 11:36:18 JST
黒川です。
以前も似たような質問をさせて頂いたのですが
改めてさせてください。
http://d.hatena.ne.jp/higayasuo/20070606#1181106858
このページで
「同一ユースケース(サブアプリケーション)の複数の画面で使われるロジックは、
各画面の共通の親Pageクラスに持たせる。 」
とありますが、プロパティも同様の事がいえるのでしょうか??
⇒「同一ユースケース(サブアプリケーション)の複数の画面で使われるプロパティ
も、
各画面の共通の親Pageクラスに持たせる。 」
プロパティも同様の考えでOKな場合、以下のようなPageクラス設計は妥当でしょう
か?
・ユースケース共通のプロパティは共通スーパークラスに記述
・アノテーションは、サブクラスにてそれぞれ必要な場合に
setterを用意して記述する。
例えば、「@Required」
入力ページでは必須項目だとしても、確認ページでは不要と考えられます。
そうなると、以下のように
入力ページ(EmployeeEntryPage):アノテーションを付加
確認ページ(EmployeeConfirmPage):アノテーション不要
といった具合に記述するのがベストでしょうか?
public abstract class AbstractEmployeePage {
public String id;
public String name;
}
public class EmployeeEntryPage extends AbstractEmployeePage {
@Required
public void setId( String id ) { super.id = id; }
}
public class EmployeeConfirmPage extends AbstractEmployeePage {
//アノテーション不要
}
Seasar-user メーリングリストの案内