SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「Dojo道場」~実用アプリ構築のためのベストプラクティス

Dojo道場 ~ 第8回「コンポジット・ウィジェットでコンポーネント・プログラミング」

「Dojo道場」~実用アプリ構築のためのベストプラクティス

コンポジット・ウィジェットを部品として利用

 これでコメント送信ウィジェットは完成ですが、このコンポジット・ウィジェットもあくまでもアプリケーションのコンポーネントの一部ですので、さらに上位のコンポジット・ウィジェットの一部品として、使用することができます。例えば、記事を閲覧するアプリケーション画面自体をウィジェットとして実装して、一覧用のウィジェットや検索用ウィジェットと並べて、コメント送信ウィジェットを配下のウィジェットとして配置するように設計します。 その上で、一覧用のウィジェットで選択された記事の情報をコメントと同時に送信するなど、ウィジェットの組み合わせにより、アプリケーションの機能を実現していくというアプローチが可能です。

図3. コンポジット・ウィジェットによるユーザー・インタフェース構築の例
図3. コンポジット・ウィジェットによるユーザー・インタフェース構築の例

 また、このコメント送信ウィジェットをDialogやTitlePaneウィジットの中に入れて、必要に応じて表示する使い方もできます。そのような場合でもすでに画面と動作がコンポーネントとしてまとめられているため、扱いやすくなっていますし、表示方法の変更にも柔軟に対応できます。

図4. ダイアログでコメント送信ウィジェットを表示
図4. ダイアログでコメント送信ウィジェットを表示
図5. タイトル・ペインでコメント送信ウィジェットを表示
図5. タイトル・ペインでコメント送信ウィジェットを表示

まとめ

 このようにして、ウィジェットという画面用のコンポーネントを積み上げてアプリケーションを構築する手法は、複雑になりがちなWebアプリケーションのユーザー・インタフェースのプログラムを意味のある単位でまとめて、構造化するのに適していますので、大規模アプリケーションの構築には欠かせない実装手法といえます。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
「Dojo道場」~実用アプリ構築のためのベストプラクティス連載記事一覧

もっと読む

この記事の著者

米持 幸寿(ヨネモチ ユキヒサ)

日本アイ・ビー・エム公認 ソフトウェア・エバンジェリスト。alphaWorks、developerWorks、インキュベーション系製品、アセットなどのテクノロジーの推進をしつつ、テクノロジー戦略、エバンジェリストチームをリードしている。講演や執筆も多数。主な著書に「かんたんサーバーサイドJava」(翔泳社)、「Webサービス完全解説」(翔泳社)がある。developerWorks Japan ブログ 「米持幸寿のブログ

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

野口 雅人(ノグチ マサト)

日本アイ・ビー・エム株式会社 ソフトウェア開発研究所 シニア・テクニカ ル・スタッフ・メンバー1990年、日本IBM入社。ホームページ・ビルダー、Rational Application Developer などの製品開発に従事。現在はWeb 2.0/RIA関連のソフトウェア開発を担当。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6123 2011/09/01 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー