オブジェクト指向で悩む

Javaに限った話ではないですが。

Struts1.2で1つの機能を実現します。

会員登録画面には以下の3画面があるとします。
1.入力画面
2.確認画面
3.完了画面

このような画面がある場合、
それぞれの画面を1つのオブジェクトとして扱う方法と
会員登録画面というものを1つのオブジェクトとして扱う方法があると思います。
他にも違う考え方があるかもしれませんが。

それぞれの画面を1つのオブジェクトとして扱う方法の場合、


import javax.servlet.http.*;
import ValidatorFormCommon;
import org.apache.struts.action.*;
public class InputPageAction extends Action {
public ActionForward execute(
ActionMapping map,
ActionForm frm,
HttpServletRequest request,
HttpServletResponse response) {
ValidatorFormCommon objFrm=(ValidatorFormCommon)frm;
request.setAttribute("objFrm",objFrm);
return map.findForward("input");
}
}

こんな感じになるのかなぁ。

で、会員登録画面というものを1つのオブジェクトとして扱う方法の場合は、

MappingDispatchActionを継承して作成することになるでしょうねぇ。


それぞれの画面を1つのオブジェクトとして扱う方法の
今、思いつくメリットは

〓ファイルが大きくならないこと。
〓他のアクションと考えが混ざらないこと。

デメリットは

〓ファイル数が多くなること。
〓画面遷移を制御するSwitchページを作成する必要があること。

ですかねぇ。

で、会員登録画面というものを1つのオブジェクトとして扱う方法の
メリットは
〓1つのファイルに機能を纏められる。
〓Switchページを作成する必要がない。

デメリットは
〓ファイルが大きくなりそう。
〓他のアクションと考えが混ざりそう。


会員登録画面というものを1つのオブジェクトとして扱う
それぞれの画面を1つのオブジェクトとして扱う

どっちがいいんだろうか。。。

会員登録画面というものを1つのオブジェクトとして扱う
Switchページを作成する必要がない分スマートな気がするが、
1つのオブジェクトとしては大きい気がする。

それぞれの画面を1つのオブジェクトとして扱う方がいいかなぁ。

考えが全然まとまってない状態で書いてるので自分でもわけわからんくなってきた^^;
色々と突っ込むところもあると思うので突っ込んでください。