ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

Wicket(17)wickt-exmamplesを解析する(abacadabra)(7)

Wicket (9)wicket-examplesをTomcatに導入してみるEclipseに取り込んだ
Wicketのサンプル「wicket-examples」を解析してみます。

「abacadabra」exampleの全ステップを解析したので、そのまとめです。

まず最初の特徴は、今回みたNewUserWizardクラスの親クラスである「Wizard」クラスが
その名のとおりウィザード、すなわち入力→確認という機能を提供するためのクラス
であることでしょう。

ウィザードは多くの業務アプリケーション、通販サイトなどで使用される形態なので
この機能がデフォルトで提供されている点はWicketの素晴らしいところだと思います。

「Wizard」クラスの実装における特徴を挙げると、ざっと以下のとおりです。

・ウィザード全体を「Wizard」クラスのサブクラスとして定義する。
・ウィザードの各ステップを、それぞれ独立したクラスとして定義する。
  データの入力機能があるWizardStepクラス、データの表示のみのStaticContentクラス
  をそれぞれ継承して作成する。
・各ステップをコンストラクタ内で追加する。
・各ステップはTitle、Summary、Contentの3部に分かれる。
  固定文言は.propertiesファイルに定義し、可変するデータは各ステップ共通のモデルに格納する。
・画面で入力した値も各ステップ共通のモデルに格納する。

どのフレームワークを使用する場合にも言えることだが
ウィザードで実現できそうな要件を上手くWicketのWizardで実現できる形に落とし込むことができれば
かなり効率よく開発できるのではないだろうか・・・。