OOAD-3 7オブジェクト指向設計の原則 - 開閉の原則

保守性と再利用性、拡張性を向上させ、ソフトウェアの柔軟性を高めるために、ソフトウェア開発、ソフトウェアシステムでは、プログラマは7つの原則に基づいてプログラムを開発してみてください。これにより、ソフトウェア開発の効率を高めるソフトウェアの開発コストとメンテナンスコストを節約できます。私たちは、これらの7つの原則を導入するために、次のいくつかのセクションでは、このセクションでは、開閉の原理を紹介します。

 

開閉の原則の定義

  ソフトウェアエンティティが拡張のために開いているが、修正のため閉鎖する必要があり、これは開閉の原則の古典的な定義です。

 

  ここではソフトウェアエンティティは、次のセクションが含まれて

    プロジェクトモジュールの切り分け

    クラスとインタフェース

    法律を破ります

 

  開口部を意味し、原理を閉じると、次のとおりです。アプリケーションは、変更が必要な場合は、ソフトウェアエンティティまたはバイナリコードのソースコードを変更せずに、新たな需要を満たすために、優れた機能拡張モジュールをすることができます。言い換えれば、時間の新たな需要を追加し、あなたが前にコードを変更する必要はありません。しかし、インタフェースの新しい実装では、新しいカテゴリを追加したり、新しい機能を実装するための設定を追加します。

 

開閉行動の原則

  オープンクローズ原理は、ソフトウェアエンティティは、安定性と継続性とともに、一定の柔軟性と適応性を持っていますオブジェクト指向プログラミングの究極の目標です。具体的には以下のように、その役割があります

    ソフトウェアテストの影響:開閉言葉の原則を遵守するためのソフトウェア、ソフトウェアのテストは、それだけで、コードの拡張をテストする必要があります。元のテストコードが正常に動作しますので。

    コードの再利用性向上:より小さな粒径を、多重化の可能性が大きく、オブジェクト指向プログラミング、および原子抽象プログラミングのコードの再利用性を向上させることができます。

    それは簡単に拡張し、維持すること、開閉、高い安定性と強力な継続性の原則を遵守するためのソフトウェア:あなたは、ソフトウェアの保守性を向上させることができます。

 

開閉の原則の実装

  すなわち、ソフトウェアインタフェースまたは抽象クラスを通じて比較的安定エンティティ抽象化層、および同じクラスに具現同じパッケージ変数を定義し、「抽象的制約、パッケージが」オン - オフ原理によって達成することができます。

  抽象優れた柔軟性と適応性なので、限り合理的な抽象化として、安定したソフトウェアアーキテクチャままにすることができます。変更のソフトウェア要件は、唯一それを拡張するために、需要に応じた派生クラスを実装する必要がある際に、ソフトウェアの変数の特定の実装の詳細は、派生クラスの抽象から拡張することができます。

 

 

  以下は、開閉の原則のWindowsのデスクトップテーマのアプリケーションを導入する例があります。


デスクトップテーマのデザインのWindowsの[実施例1]。

分析:Windowsテーマは、デスクトップの背景画像、ウィンドウの色や音や他の要素の組み合わせです。ユーザーは、あなたはまた、インターネットから新しいテーマをダウンロードすることができ、自分の好みのに応じて自分のデスクトップテーマを変更することができます。これらのテーマは抽象クラス(抽象件名)のために定義することができ、共通の特性を持っており、それぞれ特定のトピック(特定の件名には)そのサブクラスです。フォームユーザが選択するか、元のコードを変更せずに、新しいトピックを追加するので、開閉、図1に示されるクラスの原理を満たすことができます。

Windowsのデスクトップテーマのクラス図
図1 Windowsデスクトップテーマのクラス図

おすすめ

転載: www.cnblogs.com/exceptionblog/p/11041044.html