連載アプリケーション・アーキテクチャ設計入門 第2回 論理アーキテクチャを構成するコンポーネントの設計(プレゼンテーション層編) 日本ユニシス 猪股 健太郎2003/10/04 |
Back Issue
|
||
|
今回の内容
第1回の記事では、マイクロソフトが提供するアーキテクチャ設計のガイダンスであるAAfN(Application Architecture for .NET)の導入部と、そこで提示されている論理アーキテクチャについて紹介した。AAfNの論理アーキテクチャは3つの論理階層(レイヤ)とそれらに属する8種類のコンポーネント、そして論理階層(レイヤ)に属さないコンポーネント群から構成されている。
Application Architecture for .NETで推奨されている論理アーキテクチャ(再掲) |
3つの論理階層(レイヤ)とそれらに属する8種類のコンポーネント、そして論理階層(レイヤ)をまたがる形で配置されたコンポーネント群から構成されている。 |
今回および次回では、AAfNの3つの論理階層(レイヤ)に属する8種類のコンポーネントについて、次の3点を中心にして具体的な設計指針を見ていくことにしよう。
- コンポーネントの特徴
- コンポーネントで実装すべき役割
- 設計上の推奨項目
まず今回は、プレゼンテーション層に属する2つのコンポーネントを取り上げる。
プレゼンテーション層
ユーザー・インターフェイスはさまざまな形が考えられる。前回サンプル・シナリオとして示した小売業アプリケーションの例では、Webのユーザー・インターフェイスとWindowsアプリケーションのユーザー・インターフェイスとの両方が必要である。そのほかのユーザー・インターフェイスとしては、音声インターフェイスであるとか、オフィス・スイート製品のドキュメントであるとか、モバイル・クライアントといったものが考えられるだろう。
ユーザーとアプリケーションがやりとりするために必要な処理を列挙する。
- ユーザーにデータを表示する
- ユーザーからデータを取得する
- ビジネス・データにアクセスするためのイベントを解釈する
- ユーザー・インターフェイスの状態を変える
- ユーザーの処理を進める
このようなユーザー・インターフェイスを実現するコンポーネントが、「ユーザー・インターフェイス・コンポーネント」である。
ユーザー・インターフェイス・コンポーネントは、「View」と「Controller」の2つの部分に分けられる。
Viewは、Webページやフォームである。Viewの上には、ボタンやDataGridコントロールなどの、データを表示したり入力を受け取ったりする要素が多数配置される。ユーザーがそれらの要素を操作すると、Controllerを呼び出すイベントが発生する。
Controllerは、Viewのイベントに応じてビジネス・データにアクセスするコードを呼び出す。Controllerが呼び出すのは、ビジネス層のビジネス・コンポーネントや、データ層のデータアクセス・ロジック・コンポーネント、あるいは同じ層に位置するユーザー・プロセス・コンポーネントである。必要なデータを受け取ったControllerはViewの要素を適切に更新する。
ユーザー・インターフェイス・コンポーネントの特徴
|
ユーザー・インターフェイス・コンポーネントの役割 データの入力時には以下の処理をする。
データの出力時には以下の処理をする。
これらに加えて、キャッシュ、ページ処理、取り消し、クリップボードなどが必要であれば、それらの機能を実現するユーティリティ・コンポーネントを用意しておいて、適宜呼び出すこともする。 |
INDEX | ||
[連載] アプリケーション・アーキテクチャ設計入門 | ||
第2回 論理アーキテクチャを構成するコンポーネントの設計(プレゼンテーション層編) | ||
1.ユーザー・インターフェイス・コンポーネントの設計 | ||
2.4つのユーザー・インターフェイス・コンポーネント実装技術 | ||
3.ユーザー・プロセス・コンポーネントの設計 | ||
「アプリケーション・アーキテクチャ設計入門」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|