InfoQ

News

複合アプリケーションライブラリ入門

作者 Abel Avram, 翻訳者 編集部 投稿日 2008年7月11日 午後6時44分

コミュニティ
.NET
トピック
Composition
タグ
PRISM,
WPF,
Patterns and Practices

Microsoft patterns & practicesは近ごろ、Composite Application Guidance for WPF(参考記事)を利用可能にした。このガイダンスの主なコンポーネントは、複合アプリケーションライブラリ(リンク)で、複合WPFアプリケーションの作成に便利なライブラ リである。

アプリケーションの設計方法、開発方法およびデプロイ方法に関する提言に加えて、Microsoft pattern & practicesは提言の実装のリファレンスや再使用可能なアプリケーションビルディングブロックを提供している。4種類のガイダンス(リンク)が用意されている が、それはGuides、Reference Implementations、Software FactoriesおよびApplication Blocksである。Composite Application Guidance for WPFには、独立して開発されたモジュールから大規模な複合WPFアプリケーションを構築する方法に関する提言の他、Stock Trader RIと呼ばれる実装のリファレンスおよびComposite Application Library (CAL)という名のソースコードライブラリがある。patterns & practicesによると、CALは以下の項目を実行するのに便利である。

  • 独立しているが、それでも協力的なモジュールで構成されるクライアントの構築。
  • モジュールビルダーの懸念をシェルデベロッパの懸念と区別する。そうすることで、事業体がWPFアーキテクチャーの代わりにドメイン固有モジュールの開発に集中することができる。
  • アーキテクチャーのフレームワークを使用し、一貫性があり、高品質な統合アプリケーションを生産する。

patterns & practicesによると、CALは以下の戦略を実行している。

  • 依存性注入の技法を使用し、Presentation ModelおよびModel-View-Presenterパターンの実装に必要なコードをシンプルにする。
  • モジュールロードインフラを提供し、モジュールが始動操作を実行できるようにする。またモジュールは、他のモジュールやシェルアプリケーションが共有コンポーネントを使用できるように登録することができる。
  • ソースコードでの広範囲なユニットテストが含まれる。デベロッパはライブラリを修正することができ、テストを使用してその機能性を検証することができる。
  • ライブラリサービスのインターフェイスおよびライブラリサービスの実装を分離する。

CALは以下のパターンを考慮して、設計された。

  • 複合ユーザインターフェイスパターン:複合および複合ビュー、コマンド、アダプター
  • モジュール性パターン:個別のインターフェイスおよびプラグイン、サービスロケーター、イベント統合機能、ファサード
  • テスト容易性パターン:制御の反転、個別のプレゼン

Composite Application Libraryは複合WPFアプリケーションを構築するために、そのまま使用される。しかし、コアエレメントを拡張したり、置き換えたりすることで、それ ぞれの要望に合う形にカスタマイズすることもできる。必要な機能性を取得するため、ライブラリのソースコードは変更することができる。

原文はこちらです:http://www.infoq.com/news/2008/07/Composite-Application-Library

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。