[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 メーリングリストの案内