連載
Enterprise Library概説

Enterprise Library 3.0が見せる共通ライブラリの未来形

アバナード株式会社 市川 龍太(patterns & practices Champion
2007/01/24
Page1 Page2 Page3

■Application Block Software Factory(2)

 いままでの説明でおおかた察しが付いたかと思うが、ABSFはまさにEntLib 3.0用のガイダンス・パッケージにほかならない。

 しかしこれまで説明してきた各ガイダンス・パッケージが、対象となるアプリケーション形態の開発においてベストなパターン、プラクティスなどをドキュメント、サンプルなどとともにパッケージ化したものであるのに対して、ABSFはカスタムApplication Blockおよび、カスタム・プロバイダの開発手順をパッケージ化したにすぎない。

 つまりABSFは一応Software Factoryという名前を冠してはいるものの、本来の工学的な意味合いにおけるSoftware Factoriesとはあまり関係がないのも事実ではある。

 これについては恐らくp&pはSoftware Factoriesという方法論の内容にはあえてこだわらずに、GATを利用することで、ソフトウェア開発における何かしらの一連のタスクのフローが自動化された成果物(つまりガイダンス・パッケージ)をSoftware Factoryとして位置付けているように思われる。

 余談となるが、いままでp&pは彼らが提唱するベスト・プラクティスやパターンなどをオンライン上のドキュメント(一部書籍化)によって提示していたが、今後はGATを利用したガイダンス・パッケージという、より具体的な形として提供してくるものと思われ、その応用範囲の広さなどからGATがVisual Studioの将来のバージョンに組み込まれたとしてもおかしくないと筆者は考えている(DSLツールがすでにVS 2005に取り入れられた事実などからもあながちあり得ないことではないだろう)。

 以上、今回は最終回ということで、EntLib 3.0 CTPの概要とp&pが掲げる新しい開発スタイルの一端について解説してきたわけだが、Entlib 3.0から提供される機能の中でも、特にABSFが提供されることの意義はとても大きいと思っている。

 というのも以前筆者が参加していたプロジェクトで共通機能をライブラリ化することになったため、ログ出力機能などのいくつかの機能についてEntLibを導入することを検討したことがある。その際、EntLibが提供する機能とそれ以外の共通機能との間でアーキテクチャが乖離かいりしてしまうことは保守の観点で問題があるため、それ以外の機能についてもすべてEntLibのアーキテクチャで統一することを検討したが、やはりゼロからカスタムApplication Blockを作成することは工数的にも技術的にも難しいということでEntLibの採用が見送りになった。恐らく同様の理由からEntLibの採用を見送ったプロジェクトがほかにもあるのではないだろうか?

 しかしABSFはいくつかのステップを経るだけで簡単にカスタムApplication Blockのひな型を生成してくれるため、今後は単純にEntLibを利用するだけでなく、独自の共通ライブラリやフレームワークにEntLibが採用される機会が増えていくことだろう。

 EntLibはp&pのベスト・プラクティスの集大成としてリリースされたライブラリだが、その進化はとどまるどころかますます加速しており、今後も加速し続けていくと思われる。まさにEntLibの歴史はそのまま.NETの歴史であり、EntLibを知ることはほかのいかなる技術書籍を読むよりも開発者に多くの恩恵をもたらすだろう。本連載がEntLibの深遠なる世界に触れるための最初の手引きになったなら幸いである。

 最後に、これまでお付き合いいただいた読者諸氏に心から感謝するとともに、このような場を提供していただいたInsider.NETの編集者の方々、そして連載の執筆に当たり、公私にわたって筆者を助けてくれた多くの方々にもこの場を借りて心から感謝したい。End of Article

 

 INDEX
  連載:Enterprise Library概説
  Enterprise Library 3.0が見せる共通ライブラリの未来形
    1.EntLib 3.0で新しく提供予定の機能
    2.Guidance Automation Toolkit
  3.Application Block Software Factory
 
インデックス・ページヘ  「Enterprise Library概説」


Insider.NET フォーラム 新着記事
  • 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間