機能拡張のデザイン

フレームワークを設計するときに重要な点の 1 つは、フレームワークの拡張性を慎重に考慮することです。 これには、さまざまな拡張メカニズムに関連するコストと利点を理解する必要があります。 この章は、どの拡張メカニズム (サブクラス化、イベント、仮想メンバー、コールバックなど) が自分のフレームワークの要件に最適かを判断するのに役立ちます。

フレームワークで拡張性を実現するには、さまざまな方法があります。 これは、非力でも低コストのものから、強力でも高コストのものまでさまざまです。 特定の拡張要件について、要件を満たす最も低コストの拡張性メカニズムを選択する必要があります。 通常、後で拡張機能を追加することはできますが、破壊的変更を発生させずにそれを取り除くことはできないことに注意してください。

このセクションの内容

シールされていないクラス
プロテクト メンバー
イベントとコールバック
仮想メンバー
抽象化 (抽象型およびインターフェイス)
抽象化の実装用の基本クラス
シール
Portions © 2005, 2009 Microsoft Corporation. All rights reserved.

2008 年 10 月 22 日に Microsoft Windows Development シリーズの一部として、Addison-Wesley Professional によって発行された、Krzysztof Cwalina および Brad Abrams による「Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition」 (フレームワーク デザイン ガイドライン: 再利用可能な .NET ライブラリの規則、用法、パターン、第 2 版) から Pearson Education, Inc. の許可を得て再印刷されています。

関連項目