Skip to main content

契約®によるデザインとは何ですか?

contract契約&regによる設計;プログラムのすべての部分に対して、明確に定義されたインターフェイスパラメーターまたは契約の確立に依存するソフトウェアを開発するために使用される方法です。契約&regによるデザイン;ドキュメントまたはモデリングを通じて実装される概念開発スタイルと見なすことができます。これは、プログラム内の契約の暗黙的なコーディングを実際に必要とするいくつかのプログラミング言語内のネイティブまたはサードパーティのメカニズムを参照するために、より広く使用されています。契約®によるデザインを使用する目標プログラムが開発され、最終的には、より些細なエラーを削除するはるかに完全な方法でコード化され、サポート言語による契約の施行により、残留エラーが簡単に見つかり、キャプチャされます。機能とクラスに契約を使用するプログラムは、契約の明確な定義のために、個々のクラスを他のプログラムで簡単に再利用できるよりモジュール式設計を持つことができます。プログラミング哲学は、現実世界のビジネス契約のアイデアです。このモデルでは、オブジェクト指向プログラムの各メソッドとクラスは、それと相互作用する他のメソッドまたはオブジェクトが順守する契約を定義します。また、各クラスは、外部契約が機能する能力を妥協しないように内部的に従う必要があるという契約を持つことができます。およびポストコンディション。契約®モデルは、メソッドが呼び出される前にプログラムの状態を定義し、メソッドの実行が完了した後にプログラムの状態を定義します。契約の他の部分は実装によって異なる場合がありますが、他のモジュールとの相互参照、同期条件、および解釈要件が含まれる場合があります。簡単にマッピングおよび予測できます。アサーションまたはその他のメカニズムの使用を通じて、契約の施行は、その状態で生成された出力がとにかく無効になるため、契約の違反がある場合、プログラムが実行を試みないことも保証されます。母国語機能として実装されている場合、契約®予期せぬエラーの可能性がほとんどなく、最終製品が予想どおりに動作するようにするのに役立ちます。哲学には、コーディングが開始される前にシステムの設計時間が長くなり、より詳細な開発が含まれます。これは、大規模なプロジェクトでは難しい場合があります。より実際には、契約をネイティブにサポートするプログラミング言語で使用される契約検証メカニズムは、プログラムの実行を遅くすることができます。契約®によるデザインの理解が不十分;方法論は、契約を使用して基本的なエラーチェックを実行するプログラムにつながり、リリース後に突然クラッシュする傾向があるアプリケーションにつながる可能性があります。