アプリケーションの外部依存関係をどのように管理しますか?
質問
外部依存関係にはさまざまな種類があります。外部アプリケーション、コンポーネント、またはサービスとのインターフェース (例:電子メール送信用の Outlook、スキャン用の TWAIN または WIA、さまざまな目的の ActiveX オブジェクトと Web サービスなど)。
アプリケーションが堅牢であり、そのような外部依存関係が (数えきれないほどの理由で) 利用できない場合でも実行できることを確認するための戦略は何ですか?
注記:独自のソース コードに含まれる外部ソースのコードも外部依存関係の一種ですが、ここで私が主に懸念しているのはそこではありません。
解決
私たちの戦略は、例外的な状況を除いて、ソフトウェアはそうではないということです。したがって、非常に防御的にプログラムします。
- メール接続がない場合、メール機能は使用できません。
- グラフィック出力は、使用可能なグラフィック カードによって異なります。
- ネットワークが利用できる場合にのみ、分散機能が有効になります。
さらに他にもあります。
他のヒント
また、ユーザーの入力と同じくらいの外部インタフェースと、あなたはののその入力を信用してはならないことに、注意してください。常にがの入力を検証し、一貫性(または存在)をチェック呼び出すときます。
所属していません StackOverflow